Tomcat-maven-插件 401 错误
我正在学习 tomcat 基础知识,当我尝试在 tomcat 上部署我的 Web 应用程序时,我收到以下错误,
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project struts2-demoapp: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2FmkyWebApp&war= -> [Help 1]
[ERROR]
因为似乎 war 文件位置没有传递给 tomcat 管理器。我的 中有以下条目tomcat-user.xml
tomcat-users>
<user name="admin" password="admin" roles="admin,manager" /><!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
这里是我的setting.xml中的pom.xml
的详细信息
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
<url>http://localhost:8080/manager/html</url>
<server>myserver</server>
<path>/mkyWebApp</path>
</configuration>
</plugin>
</plugins>
</build>
,其中有一些条目
<server>
<id>Tomcat6.x</id>
<username>admin</username>
<password>admin</password>
</server>
我不确定这里到底出了什么问题。在这方面有任何帮助会有帮助的。
i am learning tomcat basics and while i tried to deploy my web-application on tomcat i am getting the following error
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project struts2-demoapp: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2FmkyWebApp&war= -> [Help 1]
[ERROR]
as per this it seems war file location is not being passed to the tomcat manager.i have the following entries in my tomcat-user.xml
tomcat-users>
<user name="admin" password="admin" roles="admin,manager" /><!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
here are the details of the pom.xml
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
<url>http://localhost:8080/manager/html</url>
<server>myserver</server>
<path>/mkyWebApp</path>
</configuration>
</plugin>
</plugins>
</build>
in my setting.xml there are the entries
<server>
<id>Tomcat6.x</id>
<username>admin</username>
<password>admin</password>
</server>
i am not sure what exactly is going wrong here.any help in this regard will be helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更改
为
If you are using tomcat 7 use
If tomcat 6
start tomcat run tomcat7:deploy 或 tomcat6:deploy
Change
to
If you are using tomcat 7 use
If tomcat 6
start tomcat run tomcat7:deploy or tomcat6:deploy
您需要将 settings.xml 中的凭据映射到 pom.xml 中的服务器配置。
在您的情况下,只需设置服务器的
元素即可完成此操作,以匹配 pom.xml 中的服务器主机名。由于您指向
localhost
,因此 id 也必须是localhost
。更改主机名时,还必须更新 settings.xml。
You need to map the credentials from your settings.xml to the server configuration at your pom.xml.
In your case, this is done but setting the
<id>
element of your server, to match the server's host name from the pom.xml.Since you are pointing
localhost
, the id must be alsolocalhost
.When you change the hostname, you must also update settings.xml.
它位于插件配置文档中:
server/id< Maven 设置中的 /code> 标签必须与 POM 文件中的
configuration/server
值匹配,即将Tomcat6.x
放入 POM 中 文件。POM 文件中的
tomcat-maven-plugin
条目还存在一些其他小问题:1.1
标记/html
后缀是不必要的(参见
标记的默认值)。It's in the plugin configuration docs: the
server/id
tag in Maven settings must match theconfiguration/server
value in your POM file, i.e. put<server>Tomcat6.x</server>
in POM file.There are some other minor issues with your
tomcat-maven-plugin
entry in the POM file:<version>1.1</version>
tag,/html
suffix in the Tomcat manager URL is unnecessary (cf. the default value for<url>
tag).当我也遇到这个问题的时候。我的问题是使用旧版本
而不是使用
我的设置如下
~/.m2/settings.xml
pom.xml
tomcat/conf/tomcat-users。 xml
When I was also running into this problem. My issue was using the older
instead of using
My setup is as follows
~/.m2/settings.xml
pom.xml
tomcat/conf/tomcat-users.xml
我建议你使用这个插件:
它对 Tomcat7 非常有帮助。我对 mojo 有同样的问题org.codehaus.mojo
但现在,使用 Cargo 插件,部署运行顺利。
I Advise you to use this plugin :
It's very helpful with Tomcat7. I Have the same issue with mojo
<groupId>org.codehaus.mojo</groupId>
but now, using Cargo plugin, the deploy run smooth as silk.