一、建立一個maven工程 pom類型
統(tǒng)一管理依賴以及版本號
子工程不會使用所有的定義的依賴
子工程使用依賴時無需指定版本號
其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 > |
二、新創(chuàng)建一個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的驅(qū)動 --> < 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數(shù)據(jù)源 --> < 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中繼續(xù)添加
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新增配置
運行后,會發(fā)生以下錯誤
這時將父工程maven install,安裝到本地倉庫中,再運行則不報錯
到此這篇關于maven繼承父工程統(tǒng)一版本號的實現(xiàn)的文章就介紹到這了,更多相關maven繼承父工程統(tǒng)一版本號內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/psxfd4/p/11640811.html