一、前言
由于项目的不同,有的项目需要在Maven多模块中引用jar。根据maven的打包规则,其packing只有pom,jar和war三种选择。如果我们既想该子模块可以为单独运行的war,也可为可供其他模块引用的公共jar,这时可以通过maven-jar-plugin来实现。
二、解决
步骤一、在war模块test-common的pom.xml中添加maven-jar-plugin,并设置classifier为jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<classifier>jar</classifier>
</configuration>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
步骤二、在war模块test-module1的pom.xml中引用test-common的jar
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>test-common</artifactId>
<version>${project.version}</version>
<classifier>jar</classifier>
</dependency>
本文介绍如何在Maven多模块项目中,使子模块既能作为独立运行的WAR包,又能被其他模块引用为公共JAR。通过配置maven-jar-plugin并设置classifier为'jar',实现在同一子模块下生成WAR和JAR两种形式的输出。
4701

被折叠的 条评论
为什么被折叠?



