mvn tomcat的默认服务器:deploy?

时间:2012-07-02 19:27:47

标签: tomcat maven maven-tomcat-plugin

我正在尝试与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>

但它不起作用

2 个答案:

答案 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/managerTomcat 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;如原始问题所示。