Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBootMaven:如何使用主类创建可执行jar?_Java_Maven_Spring Boot - Fatal编程技术网

Java SpringBootMaven:如何使用主类创建可执行jar?

Java SpringBootMaven:如何使用主类创建可执行jar?,java,maven,spring-boot,Java,Maven,Spring Boot,最近,我编写了一个SpringBoot项目,我希望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"

最近,我编写了一个SpringBoot项目,我希望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>

4.0.0
跳靴游戏
跳靴游戏
1.0-快照
org.springframework.boot
SpringBootStarterWeb
2.0.3.1发布
1.8
org.springframework.boot
springbootmaven插件
2.0.3.1发布
com.game.Main
org.apache.maven.plugins
maven编译器插件
1.8
1.8
为了构建jar文件,我必须运行命令:“mvncleanpackagespringboot:repackage”

我的问题是:

  • 为什么我必须添加SpringBootMaven插件?我已经有了SpringBootStarter web依赖项,它将SpringBoot添加为依赖项,还有maven编译器插件,它可以从代码中构建jar文件

  • 您是否可以考虑一种配置pom.xml文件的方法,以便我能够使用“本机”命令“mvn clean package”而不是繁琐的“mvn clean package spring boot:repackage”获取jar文件

  • 谢谢

    为什么我必须添加SpringBootMaven插件?我已经有了SpringBootStarter web依赖项,它将SpringBoot添加为依赖项,还有maven编译器插件,它可以从代码中构建jar文件

    因为插件增加了Maven对Spring Boot的支持

    您是否可以考虑一种配置pom.xml文件的方法,以便我能够使用“本机”命令“mvn clean package”而不是繁琐的“mvn clean package spring boot:repackage”获取jar文件

    看起来您在
    元素之间缺少
    jar
    元素

    您必须运行这个冗长命令的原因是,在包含插件时没有包含
    元素。请参见以下文件第71.1节:


    71.2详细介绍了
    元素。

    在您已经准备好的maven插件的配置中,您需要添加如下可执行块:

    <configuration>
       <executable>true</executable>
    </configuration>
    
    
    真的
    
    这将在目标文件夹中创建可运行的jar,该jar可以使用java-jar命令运行。

    附带说明:您可以。