将 Spring Boot 应用程序导入另一个项目
Posted
技术标签:
【中文标题】将 Spring Boot 应用程序导入另一个项目【英文标题】:Import spring boot app into another project 【发布时间】:2017-03-15 00:51:52 【问题描述】:所以我试图在另一个项目(测试框架)中添加一个 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 并使用分类器来确定每个版本吗?
谢谢
【问题讨论】:
“如果我看罐子里面” mvn install 构建 jar? 【参考方案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>
【讨论】:
为我工作。它拯救了我的一天:) 我是否在第二个项目的 ClassPath 上导入项目?以上是关于将 Spring Boot 应用程序导入另一个项目的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Spring Boot 项目创建 jar,这个 jar 我们想在另一个 Spring Boot 应用程序中使用?
使用 Maven 部署 Spring-Boot 项目并进一步将其导入其他项目
spring cloud导入一个新的spring boot项目作为spring cloud的一个子模块微服务,怎么做/或者 每次导入一个新的spring boot项目,IDEA不识别子module(代
如何使用 Spring Boot 将 CSV 文件导入 MYSQL
如何从另一个新的 Spring Boot 项目调用一个 Spring Boot 项目中存在的 Spring Boot api