在主服务项目中构建包括另一个项目的Web内容的Web内容



我有一个项目,当前文件结构为(这工作正常(:

project-services
- src/main/java
- WebContent
- pom.xml

项目服务POM.xml

...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
...

我必须将项目服务的WebContent移动到项目UI,因为:

project-services
- src/main/java
- pom.xml
project-ui
- pom.xml
- WebContent

现在我必须在project-services建立战争,包括project-uiWebContent.

project-services's pom.xml,我必须进行哪些修改才能像以前一样工作?

你需要一个这样的父pom:

<?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.greg</groupId>
<artifactId>multi-module-example</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>multi-module-example</name>
<modules>
<module>services</module>
<module>web</module>
</modules>
</project>

其中包含 2 个项目,一个用于服务,一个用于 Web 应用程序

<?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>
<parent>
<artifactId>multi-module-example</artifactId>
<groupId>com.greg</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
<dependencies>
<!-- dependencies -->
</dependencies>
</project>

然后 Web pom 依赖于项目版本的服务

如前所述,遵守目录结构的 maven 约定。

<?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>
<parent>
<artifactId>multi-module-example</artifactId>
<groupId>com.greg</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.greg</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
</dependency>
<!-- other dependencies -->
</dependencies>
<build>
<finalName>web</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

当你构建父级时,它将构建服务 jar,然后是 Web 战争。

相关内容

  • 没有找到相关文章

最新更新