1、基本使用
场景一:有两个项目A、B、C,都依赖同一个jar包:lombok.jar。
若分别在各自的项目中引入lombok.jar的依赖,那么当lombok.jar的版本发生变化时,三个项目pom文件的都需要改。
此时就可以使用parent标签。首先先创建一个parent项目,打包类型为pom,parent项目中没有任何代码,只是管理多个项目之间的公共的依赖。在parent项目的pom文件中定义对lombok.jar的依赖,A、B、C三个子项目只需要定义
父项目:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.7.RELEASE
com.cn.jettech
jettopro
1.0-SNAPSHOT
pom
org.projectlombok
lombok
1.16.16
org.springframework
spring-webmvc
4.3.9.RELEASE
子项目:relativePath 是父项目的pom所在位置。在jettopro-image项目的pom中引入parent项目也就是jettopro,此时会自动加载jettopro父项目中的
4.0.0
com.cn.jettech
jettopro
1.0-SNAPSHOT
com.cn.jettech
jettopro-image
0.0.1-SNAPSHOT
jettopro-image
Demo project for Spring Boot
注意子项目不用写。lombok.jar 在父和子都会下载
场景二:有一个springweb.jar,A、B需要依赖,C不需要依赖。
如果A、B分别引入依赖,当版本变化时修改时不方便。此时就需要在parent项目的pom文件中使用
父项目:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.7.RELEASE
com.cn.jettech
jettopro
1.0-SNAPSHOT
pom
org.projectlombok
lombok
1.16.16
org.springframework
spring-webmvc
4.3.9.RELEASE
使用这个标签可以将spring-webmvc.jar管理起来,如果那个子项目需要用,那么那个子项目在自己的pom文件中使用,此时子项目不是强制使用spring-webmvc.jar,需要的时候使用。
子项目的pom文件:
4.0.0
com.cn.jettech
jettopro
1.0-SNAPSHOT
com.cn.jettech
jettopro-image
0.0.1-SNAPSHOT
jettopro-image
Demo project for Spring Boot
org.springframework
spring-webmvc
4.3.9.RELEASE
效果图
4.0.0
asia.banseon
banseon-maven2
jar
1.0-SNAPSHOT
banseon-maven
http://www.baidu.com/banseon
A maven project to study maven.
jira
http://jira.baidu.com/banseon
Demo
[email protected]
[email protected]
[email protected]
http:/hi.baidu.com/banseon/demo/dev/
HELLO WORLD
banseon
[email protected]
Project Manager
Architect
demo
http://hi.baidu.com/banseon
No
-5
Apache 2
http://www.baidu.com/banseon/LICENSE-2.0.txt
repo
A business-friendly OSS license
scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
http://svn.baidu.com/banseon
demo
http://www.baidu.com/banseon
......
......
Windows XP
Windows
x86
5.1.2600
mavenVersion
2.0.3
/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
......
......
......
......
......
......
banseon-repository-proxy
banseon-repository-proxy
http://192.168.1.169:9999/repository/
default
......
org.apache.maven
maven-artifact
3.8.1
jar
test
spring-core
org.springframework
true
......
banseon-maven2
banseon maven2
file://${basedir}/target/deploy
banseon-maven2
Banseon-maven2 Snapshot Repository
scp://svn.baidu.com/banseon:/usr/local/maven-snapshot
banseon-site
business api website
scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web