gpt4 book ai didi

java - spring-boot Maven : How to create executable jar with main class?

转载 作者:行者123 更新时间:2023-11-30 01:58:38 24 4
gpt4 key购买 nike

最近,我编写了一个 Spring-Boot 项目,我希望 Maven 能够创建一个 jar 文件,我可以通过命令“java -jar ”运行该文件。

这是我写的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>SpringBootGame</groupId>
<artifactId>SpringBootGame</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
</dependencies>

<properties>
<java.version>1.8</java.version>
</properties>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.3.RELEASE</version>
<configuration>
<mainClass>com.game.Main</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

</project>

为了构建 jar 文件,我必须运行命令:“mvn clean package spring-boot:repackage”。

我的问题是:

  1. 为什么我必须添加 spring-boot-maven-plugin?我已经有了 spring-boot-starter-web 依赖项,它添加了 spring-boot 作为依赖项,以及 maven-compiler-plugin 从代码构建 jar 文件?

  2. 你能想到一种配置 pom.xml 文件的方法吗?我将能够使用“ native ”命令“mvn clean package”而不是繁琐的“mvn clean package spring-”来获取 jar 文件启动:重新打包”?

谢谢

最佳答案

Why must I add spring-boot-maven-plugin? I already have spring-boot-starter-web dependency that adds spring-boot as a dependency and maven-compiler-plugin that builds a jar file from the code?

因为该插件为 Spring Boot 添加了 Maven 支持

Can you think about a way to configure pom.xml file that I'll be able to get the jar file using the "native" command "mvn clean package" and not the cumbersome "mvn clean package spring-boot:repackage"?

您似乎缺少 <packaging>jar</packaging>您的 <project> </project> 之间的元素元素。

您必须运行这个冗长命令的原因是因为您没有包含 <executions></executions>包含插件时的元素。请参阅以下文档的第 71.1 节:

https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html#build-tool-plugins-include-maven-plugin

71.2 详细阐述了 <packaging>元素。

关于java - spring-boot Maven : How to create executable jar with main class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53584533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com