maven+eclipse3.7+web工程开发+tomcat7.0搭环境的一些心得
开头第一句话,过程真的很累,现在还存在一些细节问题。因为我自己做了私服搭自己的仓库,所以,MAVEN导包以及确认依赖构件是否完善是件十分繁琐和麻烦的事情,建议:所有用到的JAR最好去官方JAKATA上去下载
1. MAVEN3的搭建这里不叙述了,如何配置依赖这个百度上已经漫天飞舞了。但是这是必须的。
2. MAVEN工程转普通的WEB工程,需使用PROJECT FACETS,使用之后多了个webcontent目录,里面还有以前常见到的MENT-INF 和WEB-INF目录。
3. 在ECLIPSE里面加入服务器的时候,3.7的ECLIPSE会把默认的部署目录设置成wtpwebapps,如果你的WEB工程放在了这个目录下,那么你的TOMCAT在启动时,不会去找那个目录的,容器依然去找webapps目录。这是一般情况。如果你在ECLIPSE里面启动TOMCAT,是ECLIPSE根据其默认设置的wtpwebapps部署路径,自动在其conf/server.xml的HOST配置里面加上一段
<Context docBase="%CATALINA_HOME%/wtpwebapps/project_name" reload="true" />,这段信息个人猜想应该是ECLIPSE为其加的。TOMCAT启动时候,默认是去寻找其根目录下webapp目录加载工程信息。网上有说到热部署的方式,就是在server.xml里面Host标签下加入自己的<Context docBase>配置,但是,我发现,ECLIPSE往server.xml里面增加Context时,会先删除原先Host下所有的Context信息。
<sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>,如果大家的配置文件不是放在web-inf下面,而是选择classpath路径下的,请务必看清此建议。编译时每次使用maven的compile指令编译,特别每次更改完配置文件的时候。而如果使用ECLIPSE里自带的编译功能,会出现代码编译成功,但更改的配置文件不会去更新,这个问题可能涉及到页面部分的改动。