Eclipse+Maven+tomcat7集成配置

本文是在网上其他博客的启发引导下,经自己沥血求证实现而作。因此,文章类型列为“转载”,不好意思自称原创。

一、Maven项目创建

1.1 新建工程,Maven->Maven Project

Eclipse+Maven+tomcat7集成配置_第1张图片

1.2 选择archeType:maven-archetype-webapp

Eclipse+Maven+tomcat7集成配置_第2张图片

1.3 输入Group Id, Artifact Id, Version, Package,这四个属性唯一确定项目的坐标。

Eclipse+Maven+tomcat7集成配置_第3张图片

1.4 DevelopmentAssembly:test信息不需要打包,需要移除。

Eclipse+Maven+tomcat7集成配置_第4张图片

1.5 JavaCompiler:Compiler compliance level 一般选择1.6.

Eclipse+Maven+tomcat7集成配置_第5张图片

二、Maven集成tomcat热部署配置

       本机使用Eclipse-jee-kepler,apache-tomcat-7.0.47,JDK1.6.0_05和apache-maven-3.2.2

2.1 修改tomcat下conf/tomcat-users.xml配置,如增加用户zgr,这里虽然没有显示定义manager-script角色,显然,这是tomcat默认就有的,只是其下面没有添加任何用户:


2.2 修改apache-maven-3.2.2\conf\settings.xml,定义tomcat7服务器,id是自定义的,下面还会用到,用户名密码与2.1tomcat-users.xml配置中选择的用户一致。


 
    tomcat7 
    zgr 
    zgr 
  
  


2.3 项目pom.xml添加插件tomcat7-maven-plugin,server值"tomcat7"引用的就是2.2定义的server id。


                 org.apache.tomcat.maven
                 tomcat7-maven-plugin
                 2.2
                 
                        http://localhost:8088/manager/text
                        tomcat7
                 
          

三、项目打包发布到tomcat

       条件都已准备好了,只需要启动了。

3.1 手动启动tomcat7。

3.2. 项目右键选择Run As-> Run Configurations,Maven Build下New launch configuration:

Base directory:项目所在目录

Goals:构建目标tomcat7:redeploy

3.3 点击Run按钮,打包发布。

3.4 访问:http://localhost:8088/zgr-springmvc

Eclipse+Maven+tomcat7集成配置_第6张图片

后记

配置的过程并没有这么顺利,说说遇到的问题:

1 网上有文章说2.1配置好后,启动tomcat,访问:http://localhost:8088/manager,在弹出界面输入用户名密码,可以进入tomcat默认页面。其实不行,会报403访问被拒绝。而如果把zgr用户的角色指定为"manager-gui",那么可以访问上述链接。

2 2.3配置中url必须配置为http://ipaddr:port/manager/text。其实这样看来,tomcat完全可以是远程机器的。如果配置为http://ipaddr:port/manager/html,而zgr的roles无论指定为"manager-script"或者"manager-gui",都会报403错误。

3 3.2 Goals配置中tomcat7:redeploy,其中tomcat7是tomcat7-maven-plugin插件的Goal Prefix,redeploy是该插件的一个目标。如果改为tomcat:redeploy,那么Maven默认找寻Goal Prefix是tomcat的插件,并执行其redeploy目标。

4 下载源码包,使用命mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true,然后XXX-source.jar会下载到本地仓库对应目录下。调试时,代码运行到某jar包,eclipse会自动跳转到其源代码里,很方便。

       个中教训,只有亲历者才能明白。

参阅:

http://blog.csdn.net/foxhlc/article/details/8725992

http://wenku.baidu.com/link?url=hIZIhpibzQYC5aTXvPF-abe1UfFxZXMbJ6-GOnUIcred7KCKt-UbfC5ATGDZaGvAnWyc9jv-j1FeYk-0ciwGayB5qoFMFmHe5vZteMB9caW

你可能感兴趣的:(生产环境)