小编典典

将Spring Boot应用程序导入另一个项目

spring-boot

所以我试图添加一个Spring Boot可执行jar作为另一个项目(测试框架)中的依赖项。

但是一旦添加到pom中并导入。Java导入无法正常工作。如果我在jar里看,所有包装都带有:

BOOT-INF / classes.some.package.classname.class

还有一些与Spring Boot相关的软件包,MANIFEST等。

如果我将spring boot应用程序的构建切换为仅使用spring-boot-maven-plugin安装和部署常规jar,则不会

这将更改,并且一切正常。不幸的是,对于我们来说,这不是一个解决方案,因为在发布过程中,我们依靠可执行jar。

是否可以构建两个版本的jar并使用分类器确定每个版本?

谢谢


阅读 598

收藏
2020-05-30

共1个答案

小编典典

事实证明,使用spring-boot-maven-plugin可以实现这种确切的情况。

Spring Boot应用程序的pom:

  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.4.1.RELEASE</version>
    <executions>
      <execution>
        <goals>
          <goal>repackage</goal>
        </goals>
        <configuration>
          <classifier>exec</classifier>
        </configuration>
      </execution>
    </executions>
    ...
  </plugin>

使用spring boot jar的项目可以正常添加:

    <dependency>
        <groupId>com.springboot</groupId>
        <artifactId>app</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>

或者,如果您想引用可执行jar

    <dependency>
        <groupId>com.springboot</groupId>
        <artifactId>app</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <scope>test</scope>
        <classifier>exec</classifier>
    </dependency>
2020-05-30