我正在使用m2e Maven Plugin for Eclipse。我有5个日食项目。一个Web应用程序项目,然后将4个项目作为我的Web应用程序的jar依赖项。
我想知道如何在战争项目中使用“mvn clean install”将jar包装到WAR之前将其打包。
这是我的pom.xml:
<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>dispatcher</groupId>
<artifactId>dispatcher</artifactId>
<version>4.0</version>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>referentiel</groupId>
<artifactId>referentiel</artifactId>
<version>4.7</version>
</dependency>
<dependency>
<groupId>mailTemplates</groupId>
<artifactId>mailTemplates</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>qualityTool</groupId>
<artifactId>qualityTool</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>tools</groupId>
<artifactId>tools</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
...
..
.
</dependencies>
</project>
提前谢谢。
答案 0 :(得分:2)
创建一个顶级maven模块(战争和罐子的父)并执行mvn clean install
---pom.xml
|
|dispatcher---pom.xml (war)
|qualityTool----pom.xml (jar)
|mailTemplates----pom.xml (jar)
|referentiel----pom.xml (jar)
|tools----pom.xml (jar)
或使用--also-make
命令行选项来创建依赖项
答案 1 :(得分:2)
@Jigar Joshi的回答很好,但我需要一个结构视图,可以帮助你快速理解我们的意思。
予。创建一个顶级maven模块(战争和罐子的父) 你已经拥有了你需要的5个模块。现在创建一个新的Maven项目作为父项,它必须只包含一个pom.xml文件。
父项目pom
<project...>
<groupId>groupId</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Define parent pom </name>
<!-- modul -->
<project>
II。首先将你的jar项目作为modul,最后是war项目。如果你在jar项目中有另一个依赖项,那么你也可以尝试对它们进行排序。
父项目pom
<modules>
<module>referentiel</module> <!-- jar -->
<module>mailTemplates</module> <!-- jar -->
<module>qualityTool</module> <!-- jar -->
<module>tools</module> <!-- jar -->
<module>dispatcher</module> <!-- war-->
</modules>
III。在所有其他项目中将父引用放入poms
<parent>
<groupId>groupId</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
IV。现在,您可以进入新创建的父项目内部并从那里运行
mvn clean install