当前位置: 首页 > 知识库问答 >
问题:

spring-boot Maven:如何用main类创建可执行jar?

宋飞文
2023-03-14

最近,我写了一个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>

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

谢谢

共有1个答案

程谭三
2023-03-14

为什么我必须添加spring-boot-maven-plugin?我已经有了spring-boot-starter-web依赖项,它将spring-boot添加为依赖项,还有maven-compiler-plugin,它从代码中构建了一个jar文件?

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

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

看起来您缺少了 元素之间的 jar 元素。

您必须运行该冗长命令的原因是,在包含插件时没有包含 元素。请参阅以下文件的第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详细说明了 元素。

 类似资料:
  • 我有一个简单的Spring启动课是这样的: java和bar.java文件是作为依赖项嵌套在当前jar文件中的主类文件,并且还用@SpringBootApplication进行了注释。jar文件结构如下所示。 当我试图启动starter.java时,这在eclipse中运行得很好,但当我试图用maven构建项目时,却遇到了异常: 以下是Starter POM文件的节选: 项目结构如下所示: 我有一

  • 问题内容: 我有一个基于Maven的Spring-WS客户端项目,我希望将其打包为一个jar。在日食中,一切正常运行。当我尝试将其打包为可执行jar时,由于Spring jar不包含在我的应用程序jar中,因此出现ClassNotFound异常。 因此,我添加了maven-shade-plugin以将我的所有依赖项都包含在应用程序jar中。当我查看我的应用程序jar时,会看到包含的所有依赖项中的所

  • 如何用Gradle创建可执行JAR? 我尝试了,但它不起作用。

  • 问题内容: 我已经在JCreator中编写了Java程序,一切都已完成,但是我想从中创建一个可执行文件,即,我不想通过加载Java类并编译然后执行来运行程序,而是将其作为独立的可执行文件。 最快的方法是什么? 问题答案: 你可以使用SDK附带的jar工具,并创建该程序的可执行版本。 这就是完成的方式。 我将从命令提示符中发布结果,因为它更容易,但是使用JCreator时也应如此。 首先创建你的程序

  • 我们正在使用spring Boot进行spring云项目。我们的目标是创建一个可以使用java-jar运行的可执行war。 有没有办法只生成可执行的WAR? 为了便于参考,我附加了pom.xml http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0

  • 我试图在Spring Boot+Gradle项目中构建一个可执行的jar,但目前没有任何工作。下面是最简单的结构。可能,Gradle配置中缺少一些东西。 格雷德尔: 主配置文件: 当我运行java-jar1.jar这样的jar文件时,出现了以下异常: 可能出了什么问题?