我正在尝试开发一个可以启动和停止每个模块的模块化Web应用程序。
我需要维护任何模块并在其他模块正常工作时进行自我升级。例如,我需要将一个模块从版本1升级到版本1.2,其他模块保持版本1。
您可以将此系统视为质量管理系统。每个模块都有自己的工作流程,表结构等...
我该如何成功?
答案 0 :(得分:0)
看起来我建议使用Maven。
使用maven时,每个模块都会有一个pom文件,所以假设您有模块A和模块b,而模块b使用模块A,则pom将为:
pom模块A
<?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.stackoverflow</groupId>
<artifactId>moduleA</artifactId>
<version>2.0</version>
<packaging>jar</packaging>
<properties>
....
</properties>
<dependencies>
...
</dependencies>
...
</project>
pom模块B(使用模块A)
<?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.stackoverflow</groupId>
<artifactId>moduleB</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<properties>
....
</properties>
<dependencies>
<dependency>
<groupId>com.stackoverflow</groupId>
<artifactId>moduleB</artifactId>
<version>2.0</version>
</dependency>
...
</dependencies>
...
</project>
您会看到具有版本2.0的模块A和版本1.0的模块B。
在这里您可以找到更多信息:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html