将 spring 引导应用程序导入另一个项目
Import spring boot app into another project
所以我正在尝试添加一个 spring 启动可执行 jar 作为另一个项目(测试框架)的依赖项。
但是一旦添加到 pom 并导入。 Java 导入工作不正常。如果我查看 jar 内部,所有包都带有前缀:
BOOT-INF/classes.some.package.classname.class
还有一些spring引导相关包,MANIFEST等等
如果我将 spring 引导应用程序的构建切换为仅使用 spring-boot-maven-plugin
安装和部署常规 jar,则不会
这改变了,一切正常。不幸的是,这不是我们的解决方案,因为我们依赖可执行 jar 作为我们发布过程的一部分。
我可以构建部署两个版本的 jar 并使用分类器来确定每个版本吗?
谢谢
事实证明,使用 spring-boot-maven-plugin 可以实现这个确切的场景。
Spring 启动应用程序的 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 引导 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>
所以我正在尝试添加一个 spring 启动可执行 jar 作为另一个项目(测试框架)的依赖项。
但是一旦添加到 pom 并导入。 Java 导入工作不正常。如果我查看 jar 内部,所有包都带有前缀:
BOOT-INF/classes.some.package.classname.class
还有一些spring引导相关包,MANIFEST等等
如果我将 spring 引导应用程序的构建切换为仅使用 spring-boot-maven-plugin
安装和部署常规 jar,则不会这改变了,一切正常。不幸的是,这不是我们的解决方案,因为我们依赖可执行 jar 作为我们发布过程的一部分。
我可以构建部署两个版本的 jar 并使用分类器来确定每个版本吗?
谢谢
事实证明,使用 spring-boot-maven-plugin 可以实现这个确切的场景。
Spring 启动应用程序的 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 引导 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>