一、建立一个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