Spring引导如何在目标中创建jar文件而没有插入pom

时间:2016-01-05 11:29:28

标签: java spring maven spring-boot executable-jar

我正在阅读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>

以下是db

<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 parent。在我的任何模块中,pom 我没有上面的插件,但是当我在web模块上作为基本目录运行以下命令后,它仍然在目标文件夹中创建jar文件

  

mvn clean install spring-boot:run

我想念任何事情。请做评论。

1 个答案:

答案 0 :(得分:2)

Maven使用maven-jar-plugin构建不可执行的jar文件,spring-boot-maven-plugin用于创建可执行jar。

在您的情况下,即使您未指定spring-boot-maven-pluginmaven-jar-plugin也会创建jar文件。

您可以在执行mvn install时查看此内容并查看构建日志。