Java 如何在一个jar中打包多个Spring引导jar
之后有两个类似spring boot的项目:Java 如何在一个jar中打包多个Spring引导jar,java,spring,maven,spring-boot,spring-boot-maven-plugin,Java,Spring,Maven,Spring Boot,Spring Boot Maven Plugin,之后有两个类似spring boot的项目: service_one service_two 他们都可以独自取得成功 现在我改变了这种方式,我使用service\u allproject来管理应该运行哪些服务:比如jvm属性。最后的项目是什么样的 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/
service_one
service_two
他们都可以独自取得成功
现在我改变了这种方式,我使用service\u all
project来管理应该运行哪些服务:比如jvm属性。最后的项目是什么样的
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo.service</groupId>
<artifactId>service_all</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>service_all</name>
<dependencies>
<dependency>
<groupId>com.demo.service</groupId>
<artifactId>service_one</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.demo.service</groupId>
<artifactId>service_two</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.0.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
现在我无法将service\u one
和service\u two
lib打包到service\u all
jar的lib中
那么我该如何解决这个问题呢
附言:
- 我不能改变
和服务第一
任何东西,只能像依赖一样使用李>服务第二
- 我不能使用maven parent李>
服务\u one
和服务\u two
任何东西,排除运行的属性。这似乎是您在java代码之外解决的问题,即:通过更改目标计算机上的部署脚本。我知道你的锤子是Java,但不是每个钉子都需要JVM解决方案。你是否尝试在first的部署程序集中添加第二个项目,然后创建一个jar?对不起,我无法更改服务\u one
和服务\u two
任何东西,排除正在运行的属性。这似乎是您在java代码之外解决的问题,即:通过更改目标计算机上的部署脚本。我知道你的锤子是Java,但不是每个钉子都需要JVM解决方案。
// Java class in service_all
@Slf4j
@SpringBootApplication
public class Application {
public static void main(String[] args) throws IOException {
/**
* Common
*/
ConfigurableApplicationContext commonContext =
new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
log.info(commonContext.getId() + " isActive: " + commonContext.isActive());
/**
* service_one
*/
if (commonContext.getEnvironment().containsProperty("service_one")) {
ConfigurableApplicationContext oneContext =
new SpringApplicationBuilder(ServiceOneApplication.class)
.parent(commonContext)
.sources(RefreshScope.class).run(args);
log.info(configContext.getId() + " isActive: " + oneContext.isActive());
}
/**
* service_two
*/
if (commonContext.getEnvironment().containsProperty("service_two")) {
ConfigurableApplicationContext twoContext =
new SpringApplicationBuilder(ServiceTwoApplication.class).parent(commonContext)
.sources(RefreshScope.class).run(args);
log.info(adminContext.getId() + " isActive: " + twoContext.isActive());
}
}
}