一、建立一个maven工程 pom类型
统一管理依赖以及版本号
子工程不会使用所有的定义的依赖
子工程使用依赖时无需指定版本号
其pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion >4.0.0</ modelVersion > < groupId >com.zhiyou.cyf</ groupId > < artifactId >environment</ artifactId > < version >0.0.1-SNAPSHOT</ version > < packaging >pom</ packaging > <!-- 集中定义依赖版本号 --> < properties > < junit.version >4.10</ junit.version > < spring.version >4.2.2.RELEASE</ spring.version > < mybatis.version >3.2.8</ mybatis.version > < mybatis.spring.version >1.2.2</ mybatis.spring.version > < mybatis.paginator.version >1.2.15</ mybatis.paginator.version > < mysql.version >5.1.47</ mysql.version > < slf4j.version >1.6.4</ slf4j.version > < jackson.version >2.4.2</ jackson.version > < druid.version >1.0.9</ druid.version > < httpclient.version >4.3.5</ httpclient.version > < jstl.version >1.2</ jstl.version > < servlet-api.version >2.5</ servlet-api.version > < jsp-api.version >2.0</ jsp-api.version > < joda-time.version >2.5</ joda-time.version > < commons-lang3.version >3.3.2</ commons-lang3.version > < commons-io.version >1.3.2</ commons-io.version > </ properties > <!-- 管理jar包,不会引入 ,如果子工程需要哪些jar包,则具体地在子工程中引入,不过不需要写版本号--> < dependencyManagement > < dependencies > <!-- 单元测试 --> < dependency > < groupId >junit</ groupId > < artifactId >junit</ artifactId > < version >${junit.version}</ version > < scope >test</ scope > </ dependency > <!-- Spring --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context</ artifactId > < version >${spring.version}</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-beans</ artifactId > < version >${spring.version}</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-webmvc</ artifactId > < version >${spring.version}</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-jdbc</ artifactId > < version >${spring.version}</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-aspects</ artifactId > < version >${spring.version}</ version > </ dependency > <!-- Mybatis --> < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis</ artifactId > < version >${mybatis.version}</ version > </ dependency > < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis-spring</ artifactId > < version >${mybatis.spring.version}</ version > </ dependency > <!-- MySql --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > < version >${mysql.version}</ version > </ dependency > < dependency > < groupId >org.slf4j</ groupId > < artifactId >slf4j-log4j12</ artifactId > < version >${slf4j.version}</ version > </ dependency > <!-- Jackson Json处理工具包 --> < dependency > < groupId >com.fasterxml.jackson.core</ groupId > < artifactId >jackson-databind</ artifactId > < version >${jackson.version}</ version > </ dependency > <!-- 连接池 --> < dependency > < groupId >com.jolbox</ groupId > < artifactId >bonecp-spring</ artifactId > < version >0.8.0.RELEASE</ version > </ dependency > <!-- httpclient --> < dependency > < groupId >org.apache.httpcomponents</ groupId > < artifactId >httpclient</ artifactId > < version >${httpclient.version}</ version > </ dependency > <!-- JSP相关 --> < dependency > < groupId >jstl</ groupId > < artifactId >jstl</ artifactId > < version >${jstl.version}</ version > </ dependency > < dependency > < groupId >javax.servlet</ groupId > < artifactId >servlet-api</ artifactId > < version >${servlet-api.version}</ version > < scope >provided</ scope > </ dependency > < dependency > < groupId >javax.servlet</ groupId > < artifactId >jsp-api</ artifactId > < version >${jsp-api.version}</ version > < scope >provided</ scope > </ dependency > <!-- 时间操作组件 --> < dependency > < groupId >joda-time</ groupId > < artifactId >joda-time</ artifactId > < version >${joda-time.version}</ version > </ dependency > <!-- Apache工具组件 --> < dependency > < groupId >org.apache.commons</ groupId > < artifactId >commons-lang3</ artifactId > < version >${commons-lang3.version}</ version > </ dependency > < dependency > < groupId >org.apache.commons</ groupId > < artifactId >commons-io</ artifactId > < version >${commons-io.version}</ version > </ dependency > </ dependencies > </ dependencyManagement > < build > < finalName >${project.artifactId}</ finalName > < plugins > <!-- 资源文件拷贝插件 --> < plugin > < groupId >org.apache.maven.plugins</ groupId > < artifactId >maven-resources-plugin</ artifactId > < version >2.7</ version > < configuration > < encoding >UTF-8</ encoding > </ configuration > </ plugin > <!-- java编译插件 --> < plugin > < groupId >org.apache.maven.plugins</ groupId > < artifactId >maven-compiler-plugin</ artifactId > < version >3.2</ version > < configuration > < source >1.8</ source > < target >1.8</ target > < encoding >UTF-8</ encoding > </ configuration > </ plugin > </ plugins > < pluginManagement > < plugins > <!-- 配置Tomcat插件 --> < plugin > < groupId >org.apache.tomcat.maven</ groupId > < artifactId >tomcat7-maven-plugin</ artifactId > < version >2.2</ version > </ plugin > </ plugins > </ pluginManagement > </ build > </ project > |
二、新创建一个maven工程
在pom.xml中,继承父工程,依赖去掉版本号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion >4.0.0</ modelVersion > <!-- 使用继承 --> < parent > < groupId >com.zhiyou.cyf</ groupId > < artifactId >environment</ artifactId > < version >0.0.1-SNAPSHOT</ version > </ parent > < groupId >com.zhiyou.cyf</ groupId > < artifactId >usermanage</ artifactId > < version >0.0.1-SNAPSHOT</ version > < packaging >war</ packaging > < dependencies > < dependency > < groupId >org.apache.poi</ groupId > < artifactId >poi</ artifactId > < version >3.10.1</ version > </ dependency > <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> < dependency > < groupId >com.fasterxml.jackson.core</ groupId > < artifactId >jackson-databind</ artifactId > </ dependency > <!-- 时间操作组件 --> < dependency > < groupId >joda-time</ groupId > < artifactId >joda-time</ artifactId > </ dependency > <!-- spring-webmvc --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-webmvc</ artifactId > </ dependency > <!-- 切面 --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-aspects</ artifactId > </ dependency > <!-- spring的jdbc --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-jdbc</ artifactId > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-test</ artifactId > < version >4.3.7.RELEASE</ version > </ dependency > <!-- mysql的驱动 --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > </ dependency > <!-- mybatis --> < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis</ artifactId > </ dependency > <!-- mybatis于spring整合的jar --> < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis-spring</ artifactId > </ dependency > <!-- generator --> < dependency > < groupId >org.mybatis.generator</ groupId > < artifactId >mybatis-generator-core</ artifactId > < version >1.3.5</ version > </ dependency > <!-- jstl --> < dependency > < groupId >javax.servlet</ groupId > < artifactId >jstl</ artifactId > < version >1.2</ version > </ dependency > <!-- pagehelper --> < dependency > < groupId >com.github.pagehelper</ groupId > < artifactId >pagehelper</ artifactId > < version >5.1.2</ version > </ dependency > <!-- c3p0数据源 --> < dependency > < groupId >com.mchange</ groupId > < artifactId >c3p0</ artifactId > < version >0.9.5.2</ version > </ dependency > <!-- --> < dependency > < groupId >javax.servlet</ groupId > < artifactId >javax.servlet-api</ artifactId > < version >3.1.0</ version > < scope >provided</ scope > </ dependency > <!-- --> < dependency > < groupId >org.slf4j</ groupId > < artifactId >slf4j-log4j12</ artifactId > </ dependency > <!-- https://mvnrepository.com/artifact/junit/junit --> < dependency > < groupId >junit</ groupId > < artifactId >junit</ artifactId > < scope >test</ scope > </ dependency > <!-- 文件上传 --> < dependency > < groupId >commons-fileupload</ groupId > < artifactId >commons-fileupload</ artifactId > < version >1.3.1</ version > </ dependency > < dependency > < groupId >org.apache.shiro</ groupId > < artifactId >shiro-core</ artifactId > < version >1.4.0</ version > </ dependency > < dependency > < groupId >org.apache.shiro</ groupId > < artifactId >shiro-web</ artifactId > < version >1.4.0</ version > </ dependency > < dependency > < groupId >org.apache.shiro</ groupId > < artifactId >shiro-ehcache</ artifactId > < version >1.4.0</ version > </ dependency > < dependency > < groupId >org.apache.shiro</ groupId > < artifactId >shiro-spring</ artifactId > < version >1.4.0</ version > </ dependency > </ dependencies > </ project > |
三、配置tomcat插件
在子工程pom.xml中继续添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
< build > < plugins > <!-- 配置tomcat插件 --> < plugin > < groupId >org.apache.tomcat.maven</ groupId > < artifactId >tomcat7-maven-plugin</ artifactId > <!-- tomcat配置 --> < configuration > <!-- 端口号 --> < port >8001</ port > <!-- 项目的路径 --> < path >/</ path > </ configuration > </ plugin > </ plugins > </ build > |
子工程邮件run as configurations ,点击左边的Maven Build新增配置
运行后,会发生以下错误
这时将父工程maven install,安装到本地仓库中,再运行则不报错
到此这篇关于maven继承父工程统一版本号的实现的文章就介绍到这了,更多相关maven继承父工程统一版本号内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/psxfd4/p/11640811.html