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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven 怎么控制被依赖工程的默认打包相关的知识,希望对你有一定的参考价值。

参考技术A 这里面牵涉到几个问题:
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,当然其他路径存放形式也可以,但是要注意路径。

maven的三种项目打包方式----jar,war,pom

1.pom工程:
**用在父级工程或聚合工程中。用来做jar包的版本控制。必须指明这个聚合工程的打包方式为pom

2.war工程:
将会打包成war,发布在服务器上的工程。如网站或服务。在SpringBoot 项目中,只要我们在依赖中添加了web的启动器,我们就不需要添加打包方式了,maven会自动帮助我们 识别这个项目为war工程。不是springBoot项目的话,则需要指明这个项目为一个web工程。

**3.jar工程:
**将会打包成jar用作jar包使用。在项目中,不指明的话,默认的就是打包成jar工程,我们也可以添加指明打包方式为jar。

以上是关于maven 怎么控制被依赖工程的默认打包的主要内容,如果未能解决你的问题,请参考以下文章

maven项目打包以及依赖的问题:现有项目A,B两个,A项目依赖了很多第三方jar,现在B项目需要依赖A项目--

如何把jar包生成maven工程

maven如何继承父工程的依赖关系

请问maven工程jar包,war包,pom打包,都是怎么定的?

maven scope含义的说明

maven scope含义的说明