转载

排除以war方式依赖的第三方工程中某jar或资源的方法

项目以war包方式依赖了公司统一开发平台,但平台中引入druid版本较低,业务中需要更高版本的druid,需要先排除掉平台中druid包,然后引入需要的版本,实现方式记录如下:

  • 1.先在Pom中正常排除掉低版本Jar
  • 2.在maven-war-plugin中排除掉对应的jar包
  • 3.引入所需jar包

需要说明是的第二步,之前以war包方式依赖的项目较少,排除方法不太了解,经指点要通过以下方式:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <overlays>
            <overlay>
              <groupId>com.example.projects</groupId>
              <artifactId>documentedprojectdependency</artifactId>
              <excludes>
                <exclude>WEB-INF/lib/druid-1.0.9.jar</exclude>
              </excludes>
            </overlay>
          </overlays>
        </configuration>
      </plugin>
    </plugins>
  </build>

可排除引入war中的某个jar,上例中排除druid-1.0.9.jar,通过此方式还可以排除war中其他资源。

官网示例排除图片

<exclude>WEB-INF/classes/images/sampleimage-dependency.jpg</exclude>

更多详情见官网中关于overlays的说明,链接如下:

http://maven.apache.org/plugins/maven-war-plugin/overlays.html

—–

背景说明:

我现在要同时推进开发两个应用,分别是代码工程myportal和代码工程info-base。其中myportal工程的设计目标是做通用化组件,而info-base工程是具体的业务应用,下来我想让info-base工程开发只关注具体的业务应用,而门户、安全、日志等交给myportal来开发,那么如何实现并行开发而又无缝整合呢?

进行下面两步配置即可,完整配置参考附件。

1、依赖配置:

Java代码 收藏代码

<dependency>

<groupId>org.waddy</groupId>

<artifactId>myportal</artifactId>

<version>1.2.0-SNAPSHOT</version>

<type>war</type>

<scope>runtime</scope>

</dependency>

注意需要依赖类型为war.

2、覆盖配置:

Java代码 收藏代码

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-war-plugin</artifactId>

<version>2.1.1</version>

<configuration>

<archiveClasses>${war.archiveClasses}</archiveClasses>

<overlays>

<overlay>

<groupId>org.waddy</groupId>

<artifactId>myportal</artifactId>

<excludes>

<exclude>**/product.properties</exclude>

</excludes>

</overlay>

</overlays>

</configuration>

</plugin>

其中<excludes>是排除选项标签,将你不想引入的内容放在这里即可。

原文  http://www.iigrowing.cn/pai_chu_yi_war_fang_shi_yi_lai_de_di_san_fang_gong_cheng_zhong_mou_jar_huo_zi_yuan_de_fang_fa.html
正文到此结束
Loading...