我有一个工程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,当然其他路径存放形式也可以,但是要注意路径。
以上。