多模块开发中的war包依赖

利用Maven进行多模块开发是开发过程中经常遇到的场景。如果多模块开发中遇到不同的模块(工程)依赖公共的war包,尤其是要依赖公共war包里的class时,可以通过以下两个步骤实现不同模块对war包的依赖:

1、发布公共war包到私有仓库时,需要在该模块的pom.xml里进行如下配置:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
</plugins>
</build>

其中,粗体的配置是重点,这个配置的意思是在发布war包时,同时把该模块里的class打成一个独立的jar包发布到仓库里(该jar包与war包名字如mywebapp-1.0-SNAPSHOT-classes.jar、mywebapp-1.0-SNAPSHOT.war )。

2、依赖于公共war包的模块中,需要进行如下配置,增加两个依赖:

<dependency>
<groupId>com.mycompany</groupId>
<artifactId>mywebapp</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>mywebapp</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
<classifier>classes</classifier>
</dependency>

这两个依赖的配置中前一个是对war包的依赖没什么说的,主要是第二个jar包的依赖中的 <classifier>classes</classifier> ——这个配置可以把它看作加上后缀的配置,本例中就是mywebapp-1.0-SNAPSHOT-classes.jar中“classes”。

 

通过以上两个步骤就实现了多模块开发中不用模块对公共war包中class的依赖。

posted @ 2019-10-30 20:49  echo314  阅读(844)  评论(0编辑  收藏  举报