java 项目传到svn_Eclipse搭建Maven项目并上传SVN备份

背景:近段时间在学着Java,想着用Java做BS的项目。但是项目一遇到问题又要重做,故想起了用SVN做备份。

硬件条件:电脑是windows的64位系统。

一、建项目的总体思路是:

前期:

a.安装JDK,配置JAVA环境变量(Eclipse基于JAVA环境,所以必须安装JDK)

安装并配置Java环境变量

若安装成功,打开命令提示符,输入“java -version”,类似如图所示,则说明安装成功

85eb91d0a2ebb7aa28bbaf5262d56098.png

b.workspace:UTF-8

选择Windows下的Preferences,如图:

ccbc9071191b33ebd7de569766fc6f8c.png

出现下图,输入workspace,选择workspace,把GBK改为UTF-8,选择Apply,OK,具体如下图:

7124b91e61e4b16ed41d95842cb30bdc.png

c.安装配置meven +本地仓库

去maven官网下载maven:

配置maven环境变量

Eclipse配置maven:

831c181d648759e92ff7fc3e770a05d5.png

Eclipse配置本地仓库前,请确认本地仓库的setting.xml内容的下面位置是您本地仓库实际所在位置:(若无setting.xml文件则在maven的解压文件中拷贝一份到本地仓库文件下,改成实际本地仓库的位置,再在Eclipse里配置)

本地仓库就是所有jar包的集合。

2b630122b71fe03efb726ebeefd6337f.png

Eclipse配置本地仓库如下:

ef491ba41c1572b515aa02a65770fc23.png

搭建Maven项目步骤:

1.project

parent

pom

pom管理版本号

f786669f1d37f547cdf52bbf1d531082.png

f0f06a2d61cff5087953c8ff83ae285b.png

d27d2f61daf0c2a7065c11f00fe8030f.png

e9b764274482bac7fd277b00a4e049b8.png

pom文件如下所示:

38e3a100f098b0fd97db9eb6e593bf6f.png

用以下文件此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4 cn.e3mall

5 e3-parent

6 0.0.1-SNAPSHOT

7 pom

8

9

10 4.12

11 4.2.4.RELEASE

12 3.2.8

13 1.2.2

14 1.2.15

15 5.1.32

16 1.6.4

17 2.4.2

18 1.0.9

19 4.3.5

20 1.2

21 2.5

22 2.0

23 2.5

24 3.3.2

25 1.3.2

26 3.3

27 3.4.2-fix

28 0.9.1

29 1.3.1

30 2.7.2

31 4.10.3

32 2.5.3

33 3.4.7

34 0.1

35 5.11.2

36 2.3.23

37 2.2.2

38

39

40

41

42

43 joda-time

44 joda-time

45 ${joda-time.version}

46

47

48

49 org.apache.commons

50 commons-lang3

51 ${commons-lang3.version}

52

53

54 org.apache.commons

55 commons-io

56 ${commons-io.version}

57

58

59 commons-net

60 commons-net

61 ${commons-net.version}

62

63

64

65 com.fasterxml.jackson.core

66 jackson-databind

67 ${jackson.version}

68

69

70

71 org.apache.httpcomponents

72 httpclient

73 ${httpclient.version}

74

75

76

77 org.quartz-scheduler

78 quartz

79 ${quartz.version}

80

81

82

83 junit

84 junit

85 ${junit.version}

86 test

87

88

89

90 org.slf4j

91 slf4j-log4j12

92 ${slf4j.version}

93

94

95

96 org.mybatis

97 mybatis

98 ${mybatis.version}

99

100

101 org.mybatis

102 mybatis-spring

103 ${mybatis.spring.version}

104

105

106 com.github.miemiedev

107 mybatis-paginator

108 ${mybatis.paginator.version}

109

110

111 com.github.pagehelper

112 pagehelper

113 ${pagehelper.version}

114

115

116

117 mysql

118 mysql-connector-java

119 ${mysql.version}

120

121

122

123 com.alibaba

124 druid

125 ${druid.version}

126

127

128

129 org.springframework

130 spring-context

131 ${spring.version}

132

133

134 org.springframework

135 spring-beans

136 ${spring.version}

137

138

139 org.springframework

140 spring-webmvc

141 ${spring.version}

142

143

144 org.springframework

145 spring-jdbc

146 ${spring.version}

147

148

149 org.springframework

150 spring-aspects

151 ${spring.version}

152

153

154 org.springframework

155 spring-jms

156 ${spring.version}

157

158

159 org.springframework

160 spring-context-support

161 ${spring.version}

162

163

164

165 jstl

166 jstl

167 ${jstl.version}

168

169

170 javax.servlet

171 servlet-api

172 ${servlet-api.version}

173 provided

174

175

176 javax.servlet

177 jsp-api

178 ${jsp-api.version}

179 provided

180

181

182

183 commons-fileupload

184 commons-fileupload

185 ${commons-fileupload.version}

186

187

188

189 redis.clients

190 jedis

191 ${jedis.version}

192

193

194

195 org.apache.solr

196 solr-solrj

197 ${solrj.version}

198

199

200

201 com.alibaba

202 dubbo

203 ${dubbo.version}

204

205

206 org.apache.zookeeper

207 zookeeper

208 ${zookeeper.version}

209

210

211 com.github.sgroschupf

212 zkclient

213 ${zkclient.version}

214

215

216 org.apache.activemq

217 activemq-all

218 ${activemq.version}

219

220

221 org.freemarker

222 freemarker

223 ${freemarker.version}

224

225

226

227

228

229

230 ${project.artifactId}

231

232

233

234 org.apache.maven.plugins

235 maven-resources-plugin

236 2.7

237

238 UTF-8

239

240

241

242

243 org.apache.maven.plugins

244 maven-compiler-plugin

245 3.2

246

247 1.7

248 1.7

249 UTF-8

250

251

252

253

254

255

256

257 org.apache.tomcat.maven

258 tomcat7-maven-plugin

259 2.2

260

261

262

263

264

如下所示:

8395bd92d8ef9331d0a1ee7d9e433624.png

2.project

common

jar

继承parent

pom包括所有的jar包依赖项,黄色可删除

c1977252cb99ada8a3c979a4fb6a3fcf.png

74a18308629358396a06b0fd319408b9.png

d85b3a8eb762fe6d96f204edd993f7e2.png

58429631608972a4cbe5ac5e9cbfe7a5.png

pom文件用以下文件替代:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-parent

7 0.0.1-SNAPSHOT

8

9 cn.e3mall

10 e3-common

11 0.0.1-SNAPSHOT

12

13

14

15 joda-time

16 joda-time

17

18

19

20 org.apache.commons

21 commons-lang3

22

23

24 org.apache.commons

25 commons-io

26

27

28 commons-net

29 commons-net

30

31

32

33 com.fasterxml.jackson.core

34 jackson-databind

35

36

37

38 org.apache.httpcomponents

39 httpclient

40

41

42

43 org.quartz-scheduler

44 quartz

45

46

47

48 junit

49 junit

50 test

51

52

53

54 org.slf4j

55 slf4j-log4j12

56

57

58

3.project

manager

pom

继承parent

pom 依赖common

9c3eca88f8793224671fd03e67f70b34.png

5d9730a3d0db613dd92a7c71f7efa295.png

cf095c6439e60320d48dded52867b635.png

8f5a11497367baeedacd4a1d44dd5406.png

用以下文件替换此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-parent

7 0.0.1-SNAPSHOT

8

9 cn.e3mall

10 e3-manager

11 0.0.1-SNAPSHOT

12 pom

13

14

15 cn.e3mall

16 e3-common

17 0.0.1-SNAPSHOT

18

19

20

21 e3-manager-dao

22 e3-manager-pojo

23 e3-manager-interface

24 e3-manager-service

25 e3-manager-web

26

27

40

4.moudle

manager-pojo

jar

65b66c13bd03d6816c2443d966c8b5c3.png

ef4ef96b51b540f4bd1f1dddb348d3f6.png

7d01ee18810be6ddf31a213bc1195ebf.png

b0484b098bd4b8e885d9693d575f2edf.png

5.moudle

manager-dao

jar

pom 依赖pojo、mybatis、MySql、连接池

9fe8e9c3d93f26537cd443d0d85fa7f7.png

1c2b25f207557455bc783236fa36947c.png

67f0dd1ccfa29e665408e2ee93312808.png

1ab4ef2ed81635eff00997cc7f620a73.png

用以下文件替换此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-manager

7 0.0.1-SNAPSHOT

8

9 e3-manager-dao

10

11

12 cn.e3mall

13 e3-manager-pojo

14 0.0.1-SNAPSHOT

15

16

17

18 org.mybatis

19 mybatis

20

21

22 org.mybatis

23 mybatis-spring

24

25

26 com.github.miemiedev

27 mybatis-paginator

28

29

30 com.github.pagehelper

31 pagehelper

32

33

34

35 mysql

36 mysql-connector-java

37

38

39

40 com.alibaba

41 druid

42

43

44

6.moudle

manager-interface

jar

pom 依赖pojo

f0b559a18c706e9c6539133804809a68.png

015c3df3c7b9c91023f794aaf55505fb.png

2dd698f9adbbbc0d6c6aceec2f6e90cf.png

0c694842cc0d71f980720cf5528e945c.png

用以下文件替换此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-manager

7 0.0.1-SNAPSHOT

8

9 e3-manager-interface

10

11

12 cn.e3mall

13 e3-manager-pojo

14 0.0.1-SNAPSHOT

15

16

17

7.moudle

manager-service

enter(jar)

pom 依赖dao、interface、spring

ee721c762b9ae17e762dc13b77ee8722.png

09f6857bcd574f79eba02e085ae0bfdb.png

858ed6fe6d040307260c89bcb5185f0a.png

2d56a45bb220e77933508e252d420f9c.png

用以下文件替换此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-manager

7 0.0.1-SNAPSHOT

8

9 e3-manager-service

10

11

12 cn.e3mall

13 e3-manager-dao

14 0.0.1-SNAPSHOT

15

16

17 cn.e3mall

18 e3-manager-interface

19 0.0.1-SNAPSHOT

20

21

22

23

24 org.springframework

25 spring-context

26

27

28 org.springframework

29 spring-beans

30

31

32 org.springframework

33 spring-webmvc

34

35

36 org.springframework

37 spring-jdbc

38

39

40 org.springframework

41 spring-aspects

42

43

44 org.springframework

45 spring-jms

46

47

48 org.springframework

49 spring-context-support

50

51

52

8.moudle

manager-web

war

pom 依赖service、jsp相关

(javaEE Tools--> Generate Deploy Descriptor)war需要补全目录结构src/main/webapp/WEB-INF/web.xml文件

6b4586803c6cc3d6f54ec6f19071b9b1.png

9cf2ec68a772fbb851c30f0665add3a6.png

058e4ebcd6c5e54b3ba417168ea61fc9.png

96c7dbbaaf672f6e19847818f3a2e54c.png

用以下文件替换此模块的pom.xml文件:

1

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 4.0.0

4

5 cn.e3mall

6 e3-manager

7 0.0.1-SNAPSHOT

8

9 e3-manager-web

10 war

11

12

13 cn.e3mall

14 e3-manager-service

15 0.0.1-SNAPSHOT

16

17

18

19 jstl

20 jstl

21

22

23 javax.servlet

24 servlet-api

25 provided

26

27

28 javax.servlet

29 jsp-api

30 provided

31

32

33

此时项目还出错,只需进行如下操作即可:

2185afbcd1ff80aff2ea0123ad86bb7f.png

则项目不会报错:

18f66f1bbba586dc996438c9bb6bea16.png

9.配置Tomcat插件

manager的pom配置Tomcat插件

在manager的pom.xml后加入以下:

1

2

3

4

5 org.apache.tomcat.maven

6 tomcat7-maven-plugin

7

8 8080

9 /

10

11

12

13

此段加在如图位置:

8f1bc7a65e1523bcadb3bdb43d9c2a02.png

10.parent+common

Run as——>Maven Install

本地仓库的cn/e3mall下就会有该文件了

0b8286eaf5d778bfb9c23bbb6863aebf.png

a1b77b40b906c3aa8fbff298506e841c.png

05c19bcea40d4475f21545928544bea6.png

11.manager-web/src/main/webapp下新建index.jsp

UTF-8

8f38fe004428213e4853ac2d9c6aa84f.png

9d968275b023ddf13541d6dc3366defb.png

7fdb657bd8a3efcf0ac4f1e09503528a.png

用以下文件替换该index.jsp:

1

2 pageEncoding="UTF-8"%>

3

4

5

6

7

Insert title here

8

9

10

hello,世界,您好!

11

12

12.manager

Run as——>Maven Build

clean tomcat7:run

c532f35112fa2250186992cbb41d9f0e.png

1601abe2e8d3f43086b3b6d79604deb1.png

216060852ca027e40d999aecda18ddc8.png

f389adabd12206f33d4ca148cd9646ec.png

二、SVN的使用:

在试验成功之前,我还犹豫过,一台电脑上的代码提交到这台上会不会不行,但是现在证明这是可行的,本来理论也是可行的。

选择如下适合电脑版本的下载:

7b64746556d8dc27465784ea1a661d45.png

2.按其他程序步骤安装SVNServer:

98aad80cf3b3a2be3703e205f7c77c90.png

3b7c99f4001d79f911ff9843f9a83a69.png

88d89491549b8ecf87b685b4f9bd3ff7.png

3d2200f645b531104373a924c4289625.png

0e0065ac434b20c1caba37464b141916.png

54742eb60281aceb8216ae70e251914b.png

d43e7a42b0d617294c8ae59f64264f28.png

e8aaafc01c681fcaba4a914314cf19b4.png

bf0068f042a71f34eb4ee9137d38cc85.png

85625cb7a722e8894f42cc1fd7ee7083.png

b75ba3bff4b75fb2c709a91fee04d7cb.png

3.Eclipse安装SVN:

9542a8259c8dcadda0c1b94bff3064bc.png

4a6bbc62e29014aa3b604f9ba48cc408.png

因为我开始安装Subclipse 1.6.x,出错,所以后面安装了Subclipse 1.8.x,步骤一样,但是显示有些错误,在此我只是让你一开始就安装Subclipse 1.8.x的。

11a0a0d8c10d10f15e1094511233020c.png

a66e71b73db8b26c552fe7186832f0cf.png

f67b0e6456de03fa9791d2e273e33a53.png

867d32dd99d322d7c1a3e5e6dd0ceea5.png

52ca9491ff88716bb6f473a2ec7b68f2.png

144bb65f3291c3489b7104910a69b8fa.png

4ea86419cd5bc6f60891c7e0b744f7a7.png

2bca791565a5792337f6a6487a461b7d.png

有错误,就update maven project:

49bc901c85354e94d229ae882a02ab9a.png

34f61676edcd2a52552fa4bde448aa17.png

为排除错误,先设置一下SVN接口如下所示:

a32de6588f6e0cbbd83701415d50cd12.png

4.下面开始提交代码:

c9373d17b1be6b26c2f41c69e8746cc8.png

1b267c36c25b735c5e74fce8034b6d8d.png

bf0068f042a71f34eb4ee9137d38cc85.png

f7d454ee3b558e3e0022512def9f302e.png

e2ad3591f42f0a3e7974f086a219a759.png

c5037ff48a534b1e85007740f7227af9.png

e645bb84d70251834bcb871ab3b8865a.png

4101f2fe612bd4169324e2958d2beaed.png

63371570190993e323d63536772100dd.png

63fe02efffe64244dbb1f54108dec896.png

忽略Setting和project,让其不显示:

c679f94ec3c2f946a95deeec1e8f01d7.png

7e888ca28de6f38ea78dc8dc543f861d.png

提交代码:这里提交后,要按个同步按钮:

d7fa76f317869b98f92ec994c5c9084a.png,看是否真全部一致了,不一致要更新,再提交;一致就不用管了。

f5ebc0d2aae9922fd57149d2c7a81f18.png

f9ffa2cf7d04c3051f6504abf0ffc3ca.png

27c35742fc0dc992f4bce97c59b3fdf3.png

646ac2bd263de3fa6641d29e2aebfeaf.png

8e37417e276f1e2a154ea961441e056e.png

e80b915499c460a5410c48ff97213df6.png

910151f7456cb7dc4581aafca24874f8.png

52bf733fb864cac0134415b5648bc092.png

cb7f9f033fd862de770836d9c3b11aad.png

这样说明一致了,不需要再更新提交了。

切换SVN和项目目录如下图:

c07567a4a77cdde890d35cfed348ec35.png

a4a9b47307713b89f721aa747450484e.png

2873299f8e7ec8ad798f645eeb8801d3.png

fa0e9b4e0c2ae95f3ddc546b598e9fbe.png

2da932ac146947dd26443535ce2753f2.png

全部项目忽略项设置:

1f5d59db5fe9f3130d365e2414333686.png

4e1ec46a45e0f3075058d7aa4d74c6f6.png

6550dfcfdc572c1c825793416ec82d6e.png

645bf0d0057aa31bae34af30298e37de.png

fdbeea19c7c6a77ad22908e1c1b0d288.png

继续提交代码至SVN:

972f79cc318812a09addce1c070e7908.png

bdce68a652df0d7c82a113b8fee4d0fb.png

870e973a972366caeac167f40fd183ad.png

cc50f701ebef367c92a1d7a17f71cb13.png

36471e9c3b0fab3e65f4c0daef99111d.png

忽略target设置:

acd555bef0ea42be084b47e0015b722d.png

ce3a04c35bd7720a8fb724f3b985a1cb.png

6bd5df7b14505eb3e1baa92c1ab8bf2c.png

9acdf7a808526427789a607b66fe619c.png

SVN的服务器端有提交了3个项目,查看如下:

1d93d180774d37572fa651c8d44218e6.png

fa0364f88b74ba3139d3591127234325.png

从刚刚查看manager下目录,可知manager下包括pojo、dao、interface、service、web5个项,故把这5项的依赖删除,再重新从SVN里导出。

e00586e6a3daf5ce5721cc56922e6dc2.png

不是彻底删除代码,不需要打勾:

120b7698f004ee1e632ba9b579c8e88d.png

d383cf5a7d32477c0f8d7428157e5b57.png

dac3e479c1703da8831ba7ba0e1d1248.png

6df4120cf571dcafc69ed0643c3e74e8.png

稍等片刻后:

b5d26e6d570d0e3cf8cada83a567292e.png

5.从SVN 获取代码:

为了验证svn的代码是提交的代码,把已有的项目全部删除,再重新导入

71c9008ac00662d2db77717c53025cb8.png

确定项目所在硬盘也无相关信息:

0d8dbe22db7f14a3624223423fb29ee5.png

结论:项目所在硬盘无相关信息

Refresh,再确认一下:

d5a19f083f79ad6d738df630c1c54750.png

e34ccbb051dfb1f9e9951fbd61a67555.png

导入项目:

f363fafe401736065b7be57c44d67bcc.png

598cc526db769ea7ba39ba9a25cf2f3d.png

b1c01e07dbb4973a03b9217217232997.png

f07ed8b589a53fa4753003dfc8b41c6e.png

ec85fe4335b94dc62969ce7c7890373d.png

2f95c9634158783b8a7033c42434dd05.png

b7213d529bfa470f63cf1482eef8a137.png

转换为Maven项目:

a07f108cd743e7ddac74dcb44bc5c6e9.png

8b2c44c80a8fa3af3a46bc82e394ffe6.png

68d4e6027739866b0a4352bf73549f5f.png

42758d8fc7d06a04e093176de54f993d.png

710dd2f6c9f90164739976e544886394.png

72ab32605602d313aaf0a61df194e214.png

bf6e00b254fe680d3491b67f3c14425e.png

738d41de295282cbef1decfc97deffef.png

899f196521417827abb0790dfd62605d.png

51201863c9afbf8280820dcaf1abfc21.png

作为一个Java初学者,就这段时间的短浅入门做个记录,以便更多初学者更快入手,因是先探索后记录,各项目的细节之处请自行忽略,重要的是步骤,其他不足之处请留言,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值