java - maven 怎么控制被依赖工程的默认打包

查看:90
本文介绍了java - maven 怎么控制被依赖工程的默认打包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我有一个工程A依赖工程B 工程A是要打war包的,工程B打jar包, 并且在工程B打包的时候我有三套环境分别是1,2,3,通过maven clean package -P 1 这样的方式来切换环境(工程A也有和B相同prefix的三套环境,切换方式和B一样),,想要的效果是切换工程A的环境工程B的环境一样切换,,,现在问题是,切换工程A的环境工程B的环境不变,这怎么解决??

<dependency>
<groupId>com.xx.xxx</groupId>
<artifactId>xxxx</artifactId>
<version>${project.version}</version>
<type>jar</type>
<classifier>classes</classifier>
</dependency>

A工程中是以这种方式依赖的B工程

解决方案

这里面牵涉到几个问题:
1、首先你应该需要一个工程C,然后将这两个工程(A,B)分别作为C工程的一个子模块(详见<module>元素)。
2、当maven构建C的时候,会根据C的POM中的子模块构建反应堆,并依据子模块(A、B)间的依赖关系决定子模块的构建次序。在你这里就能够达到你想要的目的,即构建C的时候会将A、B同时构建出来。(C的<packaging>写成pom即可)
3、如果没记错的话,<profile>并没有在maven的继承元素集中。所以不管是A、B都是需要单独写<profile>
4、一般来说建议是C文件夹下面放A、B,当然其他路径存放形式也可以,但是要注意路径。

以上。

这篇关于java - maven 怎么控制被依赖工程的默认打包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆