spring-boot-maven-plugin包括来自工作区的其他项目

时间:2017-07-05 22:17:34

标签: eclipse maven spring-boot spring-boot-maven-plugin

我有一个spring STS项目,该项目依赖于同一工作区中的另外两个项目。我已将它们包含在我的pom.xml中,但是当我构建jar时,它们被排除在生成的jar之外。请您告诉我如何在构建中包含这两个依赖项目。

我在pom.xml中有以下条目

<dependencies>
        <dependency>
            <groupId>org.acord.standards.life</groupId>
            <artifactId>txlife</artifactId>
            <version>2.37.00</version>
        </dependency>
        <dependency>
            <groupId>com.xxx.service.query</groupId>
            <artifactId>queryutil</artifactId>
            <version>1.0</version>
        </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.acord.standards.life</groupId>
            <artifactId>txlife</artifactId>
            <version>2.37.00</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.xxx.service.query</groupId>
            <artifactId>queryutil</artifactId>
            <version>1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<build>
    <plugins>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <attach>true</attach>
                <!-- <includes>
                    <include>
                        <groupId>org.acord.standards.life</groupId>
                        <artifactId>txlife</artifactId>
                        <version>2.37.00</version>
                        <classifier>2.37.00</classifier>
                    </include>
                    <include>
                        <groupId>com.xxx.service.query</groupId>
                        <artifactId>queryutil</artifactId>
                        <version>1.0</version>
                        <classifier>1.0</classifier>
                    </include>
                </includes> -->
            </configuration>
        </plugin>
   </plugins>
</build>

1 个答案:

答案 0 :(得分:0)

我在Spring.io的this documentation之后解决了这个问题。

另一种方法是为每个依赖项目运行Maven Install,然后将它们设置在pom.xml中(在主项目中)。例如,我有一个名为 Alna Rest 的主要春季项目,它取决于其他特定的春季项目如何 Alna数据 Alna服务,然后,我的Alna Rest项目我的pom.xml有这个:

    <dependency>
        <groupId>com.alna.data</groupId>
        <artifactId>alna-data</artifactId>
        <version>0.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.alna.service</groupId>
        <artifactId>alna-service</artifactId>
        <version>0.0.1</version>
    </dependency>

之后,我可以在我的Alna Rest项目中运行Maven Install,Spring Boot Maven插件构建了一个包含所有项目依赖项的可执行jar。

嗯,这对我有用。但我不知道这是否是构建需要许多弹簧启动项目的项目的更好方法。然后我建议你更多地搜索一下。