Eclipse+Maven+tomcat7集成配置

Maven项目创建

1.1 新建工程,Maven->Maven Project

Eclipse+Maven+tomcat7集成配置

1.2 选择archeType:maven-archetype-webapp

Eclipse+Maven+tomcat7集成配置

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

Eclipse+Maven+tomcat7集成配置

1.4 Development Assemblytest信息不需要打包,需要移除。

Eclipse+Maven+tomcat7集成配置

1.5 Java CompilerCompiler compliance level 一般选择1.6.

Eclipse+Maven+tomcat7集成配置

二、Maven集成tomcat热部署配置

       本机使用Eclipse-jee-keplerapache-tomcat-7.0.47JDK1.6.0_05apache-maven-3.2.2

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

<user username="zgr" password="zgr" roles="manager-script"/>

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

<servers>
<server> 
    <id>tomcat7</id> 
    <username>zgr</username> 
    <password>zgr</password> 
  </server>
  </servers>

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

<plugin>
                 <groupId>org.apache.tomcat.maven</groupId>
                 <artifactId>tomcat7-maven-plugin</artifactId>
                 <version>2.2</version>
                 <configuration>
                        <url>http://localhost:8088/manager/text</url>
                        <server>tomcat7</server>
                 </configuration>
          </plugin>

三、项目打包发布到tomcat

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

3.1 手动启动tomcat7

3.2. 项目右键选择Run As-> Run ConfigurationsMaven BuildNew launch configuration

Base directory:项目所在目录

Goals:构建目标tomcat7:redeploy

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

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

 Eclipse+Maven+tomcat7集成配置

后记

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

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,而zgrroles无论指定为"manager-script"或者"manager-gui",都会报403错误。

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

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

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

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


你可能感兴趣的:(Eclipse+Maven+tomcat7集成配置)