maven配置Tomcat
1、配置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="pwd" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
配置完成后,在eclipse下运行配置好的tomcat,并访问http://localhost:8080并通过admin和pwd访问管理tomcat应用。
6、修改maven配置文件,关联tomcat
如我的maven目录D:\Java\apache-maven-3.3.9\conf,在下面找到settings.xml,打开设置servers如下:
- <servers>
- <server>
- <id>tomcat</id>
- <username>admin</username>
- <password>pwd</password>
- </server>
- </servers>
2、修改项目lwfweb的pom.xml,如下:
主要就是在pom文件的build下增加plugins节点内容:
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <version>1.1</version>
- <configuration>
- <server>tomcat</server>
- <!-- url tomcat6使用 -->
- <url>http://localhost:8080/manager</url>
- <!-- url tomcat7使用 -->
- <!-- <url>http://localhost:8080/manager/text</url> -->
- <path>/lwfweb</path>
- </configuration>
- </plugin>
- </plugins>
这里面尤其要注意是的针对tomcat6和tomcat7两个版本url内容不一样。这里如果配置错误会导致以下错误:
- [ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project lwfweb: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2Flwfweb&war=&update=true -> [Help 1]
server要与maven的setting.xml中的server id一致。
3、eclipse项目下部署:
在项目下右键菜单,Run as选择Run configuration,在golas中输入:package tomcat:redeploy
(如果想调试的话则在项目下右键菜单,Debug as选择Debug configuration,在golas中输入:package tomcat:redeploy,设置断点,即可进入调试模式)
注:在运行的时候tomcat一定是启动的,否则报错如下:
- [ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project lwfweb: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]
运行后看到build success即表示部署成功
上图可选项可以试着用用,如Skip Tests忽略测试用例,Debug output详细调试日志输出等
此时tomcat目录可看到项目
在浏览器输入:http://localhost:8080/lwfweb/ 可看到内容
有的eclipse集成tomcat 的时候需要修改一下server location和webapps的配置,如下图:
注:在Eclipse中配置Tomcat服务器,然后在这里重启tomcat服务时,我发现在tomcat的conf目录下tomcat-users.xml文件会自动还原。比如我们之前配置了用户和密码的,重启后居然回到未修改前的内容。这是因为我们在eclipse中配置了server下的tomcat-user.xml文件未修改导致,所以如果是在eclipse下启动tomcat的话,应修改eclipse中配置server对应的tomcat-user.xml文件内容。如下图:
补充下maven tomcat插件其他命令
命令 | 描述 |
tomcat:deploy | 部署一个web war包 |
tomcat:reload | 重新加载web war包 |
tomcat:start |
启动tomcat |
tomcat:stop |
停止tomcat |
tomcat:undeploy |
停止一个war包 |
tomcat:run | 启动嵌入式tomcat ,并运行当前项目 |