我正试图用 mvn tomcat:deploy
部署一场战争,我得到了
无法在项目navigator-native上执行目标org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(default-cli):无法调用Tomcat管理器:服务器返回HTTP响应代码:401为URL:... //本地主机:8080 /经理/部署? ...
我已经将角色添加到tomcat-users.xml:
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="password" roles="admin,manager"/>
但是不想修改项目的POM.xml,那么插件使用的默认服务器是什么?我试过添加
<server>
<id>localhost</id>
<username>admin</username>
<password>password</password>
</server>
但它不起作用
2 回答
默认网址为
http://localhost:8080/manager
每Tomcat 6 maven plugin docs . 不确定tomcat 7是否相同 .对于管理员凭据,您将服务器块添加到
${user.home}/.m2/settings.xml
文件 . 然后,您需要通过在Tomcat插件配置或命令行中指定<server>
元素来定义服务器ID:mvn tomcat:deploy -Dmaven.tomcat.server=localhost <otherPropertiesHere>
以上假定服务器ID是“localhost”,如原始问题所示 .
您引用的ID是插件配置中的ID,而不是实际的服务器,如果您不想修改pom的项目,请在settings.xml文件中创建配置文件或在命令行中传递配置:
mvn tomcat:deploy -Dmaven.tomcat.url=http://localhost/manager
,如果重新部署,也要确保设置 -Dmaven.tomcat.update=true