所以我试图添加一个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并使用分类器确定每个版本?
谢谢
事实证明,使用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>