我一直喜欢使用NetBeans编写Maven的项目,但是单位同事很多还是更愿意使用Eclipse,我总觉得Eclipse下Maven没NetBeans好用,但是人家喜欢呀,只好帮忙做这方面的部署,不然就没法推广Maven了。
还好现在最新的Eclipse 4.3已经内置了Maven插件,这让我的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目需要部署在Tomcat下面进行调试,这个仍然是无法避免的问题,经过半天折腾终于完成。
首先要在pom.xml中添加Tomcat插件,我使用的是官方插件(NetBeans直接可以部署调试根本不用配置这个,汗!)。
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
这样就可以使用插件内置的Tomcat了,如果想要部署到独立的服务器上面则需要添加configuration 配置信息。
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<username>admin</username>
<password>admin</password>
</configuration>
</plugin>
url是Tomcat7的部署地址,然后是用户名和密码,7和6不太一样,更多可以参考官方的说明。此外配置独立服务器还要修改Tomcat的tomcat-user.xml文件,把用户权限加进去。
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user password="admin" roles="manager-gui,manager-script,admin-gui" username="admin"/>
其中manager-gui和admin-gui是Tomcat的管理界面,manager-script指的就是manager/text这个命令行接口了。
然后是Eclipse的配置,4.3已经自带了Maven,不过内置的版本比较低也不稳定,我使用了自己的3.1版本。然后打开“Debug Configurations”界面,在“Maven build”项下新建当前工程的调试。在Main选项卡的Goals栏中输入tomcat7:run就可以启动内置Tomcat并进行联机调试了。
如果我们需要调整Tomcat的JVM参数则在JRE选项卡中进行调整,比如选择JDK或者JVM参数。比如我就因为需要比较大的内存所以设定了如下参数
-Xms256m -Xmx512m -XX:MaxPermSize=128m -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true
其中 -Djava.net.preferIPv4Stack=true这个选项是因为外置部署的时候发现好像因为IPv4和IPv6的关系无法连接,根据网上的说明添加的,如果没有遇到这个问题可以不用添加。