Spring Boot如何在目标中创建jar文件而无需在pom中添加插件

问题描述 投票:0回答:2

我正在阅读spring-boot doc,他们在那里说

要创建可执行 jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml 中。在依赖项部分下方插入以下行

<build>
  <plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

以下是我的主要pom,其中包括其他模块

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.5.RELEASE</version>
</parent>
<groupId>de.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<description>demo</description>

<properties>
    <java.version>1.6</java.version>
    <joda.version>2.5</joda.version>
</properties>

<dependencyManagement>
    <dependencies>
        <!-- joda time -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>${joda.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
<modules>
    <module>db</module>
    <module>web</module>
</modules>

以下是数据库

<parent>
    <groupId>de.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>db<artifactId>
<description>demo</description>

<dependencyManagement>
    <dependencies>
    <!-- spring data jpa -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
    </dependency>

    <!-- hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>
    </dependencies>
</dependencyManagement>

以下为网页

<parent>
    <groupId>de.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>web</artifactId>

<dependencyManagement>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>db</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencyManagement>

我创建了多模块项目。我正在使用 Spring Boot 父级。在我的任何模块 pom 中我没有上述插件,但在我在 Web 模块上运行以下命令作为基本目录后,它仍然在目标文件夹中创建 jar 文件

mvn 干净安装 spring-boot:run

我缺少任何需要理解的东西。请评论。

java spring maven spring-boot executable-jar
2个回答
4
投票

Maven 使用 maven-jar-plugin 构建不可执行的

jar
文件,而 spring-boot-maven-plugin 用于创建可执行 jar。

在这种情况下,即使您没有指定

spring-boot-maven-plugin
maven-jar-plugin
也会创建
jar
文件。

您可以在执行

mvn install
并查看构建日志时检查这一点。


0
投票

现在已经很晚了,但如果有人需要的话,我会解释一下。 打开终端 转到项目目录: 光盘名称目录

在目录中输入它。在终端中: mvn 清理包

很快它就会在项目的目标文件夹中自动生成一个arquive jar

© www.soinside.com 2019 - 2024. All rights reserved.