博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven支撑下的War应用依赖另外一个WAR应用的解决方案
阅读量:6704 次
发布时间:2019-06-25

本文共 1482 字,大约阅读时间需要 4 分钟。

最近在做项目中,用Maven管理项目间的依赖关系,遇到一个问题,快折腾死了,不过初步试出来一种解决方案。在此把问题及解决方案描述一下,以资共享。

   问题描述:有两个项目A和B,Dynamic Web Project。依赖关系是,B-->A,一种方式是利用maven-war-plugin的Overlay机制(例子可参见官网),但这种解决方案默认是将两个Web应用的资源进行合并,相关的class都会被复制到WEB-INF/classes下面,相关的JSP等资源也合并到一起。我的要求是A的class被独立打包成一个jar,在发布到应用服务器后存在于B应用的WEB-INF/lib下面,A应用的其他资源都不要。
   处理思路:
   一、A应用的POM处理
    <?xml version="1.0" encoding="UTF-8"?>
<project ......">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxx</groupId>
<version>0.0.1-SNAPSHOT</version>
<name>A-web</name>
<artifactId>A-web</artifactId>
<packaging>war</packaging>
<build>
<plugins>
            
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                    <!--注意增加这两行,在打包时相关的类会被独立打成jar-->
    <attachClasses>true</attachClasses>
    <classesClassifier>api</classesClassifier>            
            </configuration>
            <version>2.3</version>
            <executions>
            </executions>
            </plugin>
</plugins>
</build>
</project>
   打包完成后,包含A-web.war和a-web-api.jar及其他文件。
二、B应用的POM处理
<?xml version="1.0" encoding="UTF-8"?>
<project ...........>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxx</groupId>
<version>0.0.1-SNAPSHOT</version>
<name>B</name>
<artifactId>B</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.xxx</groupId>
<artifactId>A-web</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
<classifier>api</classifier>
</dependency>
</dependencies>
</project>
    注意以上的依赖中的type属性为jar,而不是默认的war。classifier的值api与A中的classesClassifier的值api要一致。

转载地址:http://ajflo.baihongyu.com/

你可能感兴趣的文章
内核调优记录file-max
查看>>
RHEL 5基础篇—linux的简介
查看>>
grub启动引导装载程序总结。
查看>>
分布式系统开发的一些相关理论基础——CAP、ACID、BASE
查看>>
ASP.NET 页生命周期概述
查看>>
Xen虚拟机克隆实战
查看>>
HttpContext.Current.Session ,出现未将对象引用设置到实例上
查看>>
所谓深度链接(Deep linking)
查看>>
C#中的数据格式转换 (未完待更新)
查看>>
基于 Python 官方 GitHub 构建 Python 文档
查看>>
ArcSDE:C#创建SDE要素数据集
查看>>
arulesSequences包做序列模式的关联分析
查看>>
CSS学习(一)
查看>>
SQL Server 数据库安全
查看>>
Android双机(网络和USB)调试及其完美ROOT
查看>>
Linux Suspend过程【转】
查看>>
变量命名那点小事
查看>>
Java 基础【02】 Super 用法
查看>>
makefile初步制作,arm-linux- (gcc/ld/objcopy/objdump)详解【转】
查看>>
VS2005中建立解决方案及多项目
查看>>