【问题标题】:spring-boot-maven-plugin include other projects from workspacespring-boot-maven-plugin 包括工作区中的其他项目
【发布时间】:2017-12-09 18:00:30
【问题描述】:

我有一个 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>

【问题讨论】:

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


    【解决方案1】:

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

    另一种方法是为每个依赖项项目运行 Maven 安装,然后在 pom.xml(在主项目中)中设置它们。例如,我有一个名为 Alna Rest 的主要 spring 项目,它依赖于其他特定的 spring 项目 Alna DataAlna Service,然后,我的 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。

    嗯,这对我有用。但我不知道这是否是构建需要许多其他 Spring Boot 项目的项目的更好方法。那我建议你多搜索一下。

    【讨论】:

      猜你喜欢
      • 2020-01-01
      • 1970-01-01
      • 2015-08-01
      • 2017-07-30
      • 2017-02-05
      • 1970-01-01
      • 2017-11-24
      • 2019-04-17
      • 2022-01-16
      相关资源
      最近更新 更多