Maven-war-plugin插件的使用

     在项目开发中,A依赖于B,如果两个都是jar项目,那就好办,但是今天在项目中,遇到A和B都是war项目的时候,那就遇到棘手的时候了,编译会报错,错误描述如下:

错误描述可以发现,没有发现jar包,这样就需要用到Maven-war-plugin插件来把B项目生成jar包来给A依赖了,现在说说如何使用Maven-war-plugin插件

1、在A(pom.xml)配置:添加Maven-war-plugin。

<plugins>
         <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                    <!--<attachClasses>true</attachClasses>,这样B项目内就可以使用A项目定义的class了-->
                        <attachClasses>true</attachClasses>
                    <!--打包的时候如果不想使用WEB-INF/classes,则在插件的配置内指定 <archiveClasses>true</archiveClasses> 
                        即可,这样会把项目的java文件打包成jar放到WEB-INF/lib内-->
                        <archiveClasses>true</archiveClasses>
               <!--设置jar包名字,如果A中没有定义该名字,那么名字为classes,如下图:-->
                    <classesClassifier>api</classesClassifier>
                <!--
                        相同点:
                            packagingExcludes与webResources 均可以排除某些文件。
                        不同点:
                            packagingExcludes针对拷贝到target后的资源进行处理。
                            webResources针对编译前的资源进行处理。
                    -->
                        <packagingExcludes>WEB-INF/classes/**/**</packagingExcludes>
                        <webResources>
                            <resource>
                              <directory>target/${project.artifactId}/WEB-INF/classes</directory>
                              <excludes>
                                  <exclude>**/**</exclude>
                              </excludes>
                            </resource>
                        </webResources>
                   </configuration>                
   
        </plugin>
</plugins>

                  

这样就可以生成一个war包跟一个jar包了!!!!

2、在B(pom.xml)配置:

        
                <dependency>
			<groupId>com.xxx</groupId>
			<artifactId>A</artifactId>
			<version>${xxx.version}</version>
			<type>jar</type>
                        <!--如果A中定义的名字要一样!!!--> 
                        <classifier>api</classifier>
		</dependency>
然后编译B项目,项目编译成功!!!!



猜你喜欢

转载自blog.csdn.net/liangweihua123/article/details/80972570