我正在使用maven,Eclipse和Tomcat7。 我正在尝试使用 clean tomcat:deploy
命令在 Tomcat 中部署我的 Web 应用程序,但每次我收到此错误时:
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project azraspina: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/html/deploy?path=%2Fazraspina&war= -> [Help 1]
这是我的pom的插件部分.xml :
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<username>admin</username>
<password>admin</password>
<server>raspinaserver</server>
<path>/azraspina</path>
<url>http://localhost:8080/manager/html</url>
</configuration>
</plugin>
</plugins>
这是我的雄猫用户的一部分.xml :
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui" />
<user username="admin" password="admin" roles="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
到目前为止,我已经尝试了网络上几乎所有的东西! 我已经将pom的凭据部分.xml添加到Maven的设置.xml中,但它并没有解决问题.我也尝试使用"Tomcat7-Maven-plugin",但仍然没有运气。 我什至尝试将头撞到水泥墙上(尽可能用力),但我还活着,所以那里也没有运气。那么,你能帮我解决这个问题吗?谢谢
如果要部署到Tomcat 7,则可以考虑使用Apache的Tomcat 7 Maven插件,而不是Codehaus版本。
通常,凭据不会进入 POM 中的插件配置,因为 POM 最终会进入工件存储库,并且通常与其他开发人员共享。 凭据位于 settings.xml <servers>
元素中,然后配置插件以引用该服务器。 这就是Tomcat 7插件使用文档和Codehaus tomcat插件所描述的。
因此,您的设置.xml:
....
<servers>
<server>
<id>raspinaserver</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
...
和插件配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<server>raspinaserver</server>
<path>/azraspina</path>
<url>http://localhost:8080/manager/html</url>
</configuration>
</plugin>
我认为问题可能出在管理器 URL 上。试试你的绒球.xml :
<url>http://localhost:8080/manager/html</url>
而不是:
<url>http://localhost:8080/manager</url>
我找不到有关这些 URL 的文档(肯定存在),但无论如何,它适用于我使用 tomcat-maven-plugin v6.0.39 部署到 apache-tomcat-1.1
这是您的pom中的第二个可能的问题.xml:您尚未指定要使用的插件版本。它可以工作...但它容易出错。Maven甚至警告过这些事情。我在我的绒球上使用它.xml :
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>MyTomcat</server>
<path>/agalindo-webui</path>
</configuration>
</plugin>
在那里,我在我的设置中指定了像user944849这样的服务器.xml(~/.m2/settings.xml),如下所示:
<settings>
<servers>
<server>
<id>MyTomcat</id>
<username>myusername</username>
<password>mypassword</password>
</server>
</servers>
<!-- .. -->
</settings>
希望对您有所帮助,
/天使