通过Maven命令将install的项目部署在Tomcat7或者Tomcat8

来源:互联网 发布:java将图片转成base64 编辑:程序博客网 时间:2024/06/02 02:14

最近在学习Maven来构建项目,在构建webapp的时候i每次都要把mvn clean install后生成的war包自动复制到Tomcat/webapps中, 久而久之感觉好繁琐。于是Google如何将maven项目部署到tomcat中,虽然找到了大量的相关资料。但最后依然会出现莫名奇妙的问提,最后疯狂的google了一天查看了大量资料之后最终解决了这个问题。

出现问题的原因:查阅出现的大多数相关资料都是针对tomcat6或者更低版本与Tomcat7或者tomcat8不兼容。

最终解决方案:

1.打开tomcat的manager功能,给tomcat分配用户和角色。

打开tomcat/conf/tomcat-users.xml。在标签内添加:

<role rolename="admin-gui"/><role rolename="admin-script"/><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

启动tomcat访问http://localhost:8080/manager输入配置的用户名和密码看是否可以登录,如果可以进下一步。

2.在maven项目的pom.xml中添加tomcat的plugins:

<build>    <finalName>testWebAppInMaven</finalName>    <plugins>      <plugin>        <groupId>org.apache.tomcat.maven</groupId>        <artifactId>tomcat7-maven-plugin</artifactId>        <version>2.2</version>        <configuration>          <url>http://localhost:8080/manager/text</url>          <username>admin</username>          <password>admin</password>          <path>/${project.artifactId}</path>        </configuration>      </plugin>      </plugins>

这里注意以下几点:

  • 把tomcat的username和password直接写在项目pom.xml中即可,而不需要写在~/.m2/settings.xml中。网上找的资料全是这种做法,但这种做法无法在tomcat7或8中使用。

  • <url>中一定写 http://localhost:8080/manager/text而不是http://localhost:8080/manager或http://localhost:8080/manager/html。

  • <version>2.2</version>2.2的版本即可支持tomcat8
  • 最后部署问题: mvn tomcat7:deploy或者tomcat8:redeploy

最终会打成一个war包分配在tomcat/webapps目录下。该war包的名称即为<path></path>,最后正确访问即可。

0 0
原创粉丝点击