zoukankan      html  css  js  c++  java
  • 多模块开发中的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的依赖。

    历经苦难而不厌,此乃阿修罗之道。
  • 相关阅读:
    jQuery源码笔记——四
    jQuery源码笔记——三
    jQuery源码笔记——二
    深度理解作用域链和闭包
    事务的传播机制
    Jvm的运行时数据区
    SpringBoot 工程结构
    MyBatis的<if>标签判空
    Redis学习
    MyBatis调用Oracle的存储过程
  • 原文地址:https://www.cnblogs.com/echo1314/p/11767812.html
Copyright © 2011-2022 走看看