发现自己知道的太少,去学习了一下分布式项目的建法
准备工具:Maven,Eclipse
主要运用maven依赖把各个模块依赖到一块
第一步:打开Eclipse,配置好自己的maven本地仓库,配置maven就不在这里多说了,
大家可以去看一下这个:http://www.cnblogs.com/eagle6688/p/7838224.html
配置好maven之后,在Eclipse中配置好仓库地址
点击Windows--选择Preferences就会看到如下界面,选择maven
点击打开选择user setting,选择自己安装好的maven的setting.xml文件,并保存
好的,maven配好之后,下面开始正式搭建一个分布式的项目。
使用Eclipse,右键New--Other,然后如图,点击maven,选择maven-project,因为他是一整个工程,Module是模块,后面会用到
点击next,把第一个勾上,再点击next
如图,会让你输入groupid和aftifact id,建分布式的话你后面所建的所有项目的group-id都必须保持一致。
下面说一下war,jar,pom的区别。
war:所有的分布式结构必须有的一个包,因为你的前台信息还有controller都在这里面
jar:建一个项目中的某层,比如pojo,dao,service,common层的时候就选jar,因为分布式是运行一个主项目,其他的你的一些分层会被打包为jar包。
pom:这就是一个聚合工程,比如一个分布式工程,必须有一个父类,所有的后面的模块都得依赖于他,比如公司做一个项目,大家开发的模块不同,jar包很难统一,分布式就很好的解决了这个问题,所有的其他模块建的时候都依赖与这个parent,只要在parent里面的pom.xml里面定义好所有的jar包的版本,其他的模块需要用到这个jar就只需要输入名字就行,版本号已经统一了,一个pom工程里面可以建其他的很多模块。
建好父类之后,修改里面的pom.xml文件,我这里给大家提供一份
4.0.0
com.taotao
taotao-parent
0.0.1-SNAPSHOT
pom
4.12
4.1.3.RELEASE
3.2.8
1.2.2
1.2.15
5.1.32
1.6.4
2.4.2
1.0.9
4.3.5
1.2
2.5
2.0
2.5
3.3.2
1.3.2
3.3
3.4.2
0.9.1
1.3.1
2.7.2
4.10.3
joda-time
joda-time
${joda-time.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
org.apache.commons
commons-io
${commons-io.version}
commons-net
commons-net
${commons-net.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
org.apache.httpcomponents
httpclient
${httpclient.version}
junit
junit
${junit.version}
test
org.slf4j
slf4j-log4j12
${slf4j.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis.spring.version}
com.github.miemiedev
mybatis-paginator
${mybatis.paginator.version}
com.github.pagehelper
pagehelper
${pagehelper.version}
mysql
mysql-connector-java
${mysql.version}
com.alibaba
druid
${druid.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
jstl
jstl
${jstl.version}
javax.servlet
servlet-api
${servlet-api.version}
provided
javax.servlet
jsp-api
${jsp-api.version}
provided
commons-fileupload
commons-fileupload
${commons-fileupload.version}
redis.clients
jedis
${jedis.version}
org.apache.solr
solr-solrj
${solrj.version}
${project.artifactId}
org.apache.maven.plugins
maven-resources-plugin
2.7
UTF-8
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.7
1.7
UTF-8
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
这就是整个项目中要用到的jar包与版本了,建好了父类,下面建一个常用的包,将我们经常要用到的一些工具类或者常用类放到里面,右键建好的父类,选择New--Other,这次我们选择的是maven-module,因为这个是属于parent的一个子类了
点击next之后取好名字,会看到如图所示,那么直接点击finish就好了
再修改一下pom.xml,加入一些常用的jar包
4.0.0
com.taotao
taotao-parent
0.0.1-SNAPSHOT
com.taotao
taotao-common
0.0.1-SNAPSHOT
joda-time
joda-time
org.apache.commons
commons-lang3
org.apache.commons
commons-io
commons-net
commons-net
com.fasterxml.jackson.core
jackson-databind
org.apache.httpcomponents
httpclient
junit
junit
test
org.slf4j
slf4j-log4j12
建好了common之后,就开始正式搭建我们的分层项目,右键parent,一样的步骤,不过这次选择的是project
点击next,groupid要保持一致,还有Packaging选择pom,一定要选pom,因为你的这个工程里面会放例如pojo,dao,service等分层,还有要选择父类,只有这样才能完全由父类管理,jar包才能统一好,然后点击finish
建好这个之后,相当于你的主工程就建好了,接下来建一层一层的分开,先建pojo,右键manager,选择New--Other
一定记得选择maven module
点击finish,因为pojo不用依赖与任何jar包,所以他的pom.xml不用修改
然后同样的方法建好service,dao,就不详细描述了
service的pom.xml
4.0.0
com.taotao
taotao-manager
0.0.1-SNAPSHOT
taotao-manager-service
com.taotao
taotao-manager-mapper
0.0.1-SNAPSHOT
org.springframework
spring-context
org.springframework
spring-beans
org.springframework
spring-webmvc
org.springframework
spring-jdbc
org.springframework
spring-aspects
dao也就是mapper的pom.xml
4.0.0
com.taotao
taotao-manager
0.0.1-SNAPSHOT
taotao-manager-mapper
com.taotao
taotao-manager-pojo
0.0.1-SNAPSHOT
org.mybatis
mybatis
org.mybatis
mybatis-spring
com.github.miemiedev
mybatis-paginator
com.github.pagehelper
pagehelper
mysql
mysql-connector-java
com.alibaba
druid
src/main/java
**/*.properties
**/*.xml
false
然后建最后一层,也就是web层,controller层,一样的方法 ,但是选择的时候要选择war包
建好之后你会发现他报错了,因为你没有web.xml文件,所以在webapp下面建一个WEB-INF,然后在里面建一个xml文件,取名叫做web.xml,就不会报错了。
web,controller的pom.xml
4.0.0
com.taotao
taotao-manager
0.0.1-SNAPSHOT
taotao-manager-web
war
com.taotao
taotao-manager-service
0.0.1-SNAPSHOT
jstl
jstl
javax.servlet
servlet-api
provided
javax.servlet
jsp-api
provided
commons-fileupload
commons-fileupload
junit
junit
test
web.xml
taotao-manager
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
contextConfigLocation
classpath:spring/applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
taotao-manager
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springmvc.xml
1
taotao-manager
/
全部配好之后,可以在webapp目录下建一个jsp文件,然后拿tomcat插件访问.
建好之后的manager的pom.xml,我在里面配置了tomcat插件
4.0.0
com.taotao
taotao-parent
0.0.1-SNAPSHOT
com.taotao
taotao-manager
0.0.1-SNAPSHOT
pom
com.taotao
taotao-commons
0.0.1-SNAPSHOT
taotao-manager-pojo
taotao-manager-mapper
taotao-manager-service
taotao-manager-web
org.apache.tomcat.maven
tomcat7-maven-plugin
8080
/
此时把这些弄好之后,你还需要把parent和common这两个项目install到maven的本地仓库里面,如图操作,将common和parent都Install到maven的本地仓库里运行才不会报错
完成上述操作后,右键manager选择如图
会进入这个页面,因为我配置的tomcat7所以我的操作指令是
clean tomcat7:run
clean代表先清除再运行
然后会发现你出现这些信息,就是运行成功了,由于我修改了端口是8088,所以最后一行会有所不同,然后你可以直接在浏览器上输入:localhost:8080/index.jsp
访问你的测试页面,记得测试页面要建在webapp下,建在WEB-INF下会被拦截访问不到
好的,记录完了,留着自己日后看