我正在尝试与mvn tomcat:deploy
部署战争,我得到了
无法在项目navigator-native上执行目标org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(default-cli):无法调用Tomcat管理器:服务器返回HTTP响应代码:401 for URL:.. .//localhost:8080/manager/deploy? ...
我已经将角色添加到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>
但它不起作用
答案 0 :(得分:1)
您所引用的ID是插件配置中的ID,而不是实际的服务器,如果您不想修改pom的项目,请在settings.xml文件中创建配置文件或在命令中传递配置行:
mvn tomcat:deploy -Dmaven.tomcat.url=http://localhost/manager
,如果您重新部署
Dmaven.tomcat.update=true
答案 1 :(得分:1)
默认网址为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是&#34; localhost&#34;如原始问题所示。