0

我正在尝试与之展开一场战争 mvn tomcat:deploy,但我得到了

无法在项目 navigator-native 上执行目标 org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli):无法调用 Tomcat 管理器:服务器返回 HTTP 响应代码:401 for 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>

但它不起作用

4

2 回答 2

1

您所指的 id 是插件配置中的一个,而不是实际的服务器,如果您不想修改 pom 的项目,请在 settings.xml 文件中创建配置文件或在命令行中传递配置:

mvn tomcat:deploy -Dmaven.tomcat.url=http://localhost/manager,还要确保你设置 -Dmaven.tomcat.update=true如果你重新部署

于 2012-07-03T07:45:27.327 回答
1

默认 url 是http://localhost:8080/manager每个Tomcat 6 maven 插件文档。不确定tomcat 7是否相同。

对于经理凭据,您将服务器块添加到${user.home}/.m2/settings.xml文件中。然后,您需要通过<server>在 Tomcat 插件配置中或在命令行中指定元素来定义服务器 ID:

mvn tomcat:deploy -Dmaven.tomcat.server=localhost <otherPropertiesHere>

以上假设服务器 ID 为“localhost”,如原始问题所示。

于 2012-07-03T16:02:19.833 回答