Яри*_*нко 34 tomcat maven maven-tomcat-plugin
当我使用mvn tomcat:tomcat-maven-plugin的部署时出现403错误:
无法在项目my-webapp上执行目标org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy(default-cli):无法调用Tomcat管理器:服务器返回HTTP响应代码:403用于URL: http://localhost:8080/manager/text/deploy?path=%2Fdms&war=
我认为这是因为空战参数.但为什么它是空的???
在pom.xml中有:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<warFile>target\my-webapp.war</warFile>
<server>myserver</server>
<url>http://localhost:8080/manager/text</url>
<path>/dms</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
小智 27
您使用的是tomcat 7,您应该将插件配置保留在pom.xml中,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/html</url>
<server>tomcat</server>
<path>/finance</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我已尝试使用版本配置,如上例所示,但它对我不起作用.在settings.xml中,shoud具有服务器的配置,与pom.xml中的值匹配
<settings>
<servers>
<server>
<id>tomcat</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
Run Code Online (Sandbox Code Playgroud)
所以,mvn tomcat:deploy或mvn tomcat:redeploy(如果你已经部署了app),或者mvn tomcat:run(用tomcat down)应该可以工作.
Tom*_*icz 14
/manager默认情况下,应用程序由用户名/密码保护.如果输入http:// localhost:8080/manager,则还会要求您提供安全凭证.首先在Tomcat中创建/启用用户:取消或几次尝试失败后,Tomcat将在错误屏幕上提供帮助.然后使用这些凭据tomcat-maven-plugin作为解释在这里:
将插件配置块添加到您的pom.xml:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<server>myserver</server>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
将相应的服务器块添加到settings.xml:
<server>
<id>myserver</id>
<username>myusername</username>
<password>mypassword</password>
</server>
Run Code Online (Sandbox Code Playgroud)
对于Tomcat7,在tomcat-users.xml中,您还需要rolename manager-script:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="s3cret" roles="manager-script,manager-gui"/>
Run Code Online (Sandbox Code Playgroud)
在项目的POM.xml中
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>myserver</server>
<path>/sw</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
和maven的settings.xml:
<servers>
<server>
<id>myserver</id>
<username>tomcat</username>
<password>s3cret</password>
</server>
</servers>
Run Code Online (Sandbox Code Playgroud)
小智 7
必须确保完成一些步骤.这可能是一个真正的黑洞.
如果您正在使用org.codehaus.mojo中的tomcat-maven-plugin,则必须使用以下配置:
<configuration>
<url>http://localhost:8080/manager/text</url>
<warFile>your_war_filename.war</warFile>
<server>server_name_on_settingsxml</server>
</configuration>
Run Code Online (Sandbox Code Playgroud)
请确保您在maven settings.xml上定义了"server_name_on_settingsxml"服务器凭据.使用mvn tomcat:deploy(你必须使用这个'tomcat'前缀),这是读取部署上述配置的唯一方法.
但是,如果您使用org.apache.tomcat.maven中的tomcat7-maven-plugin,则必须使用mvn tomcat7:deploy.'tomcat7'前缀将从插件中读取配置:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
Run Code Online (Sandbox Code Playgroud)
我正在使用tomcat:deploy,我在pom.xml上定义了tomcat7-maven-plugin.所以,maven部署从未读过我的配置标签......
如果您确保正确定义了用户名和密码,并且在部署时使用了正确的插件,那么它将起作用.
小智 6
如果您尝试使用codehouse tomcat插件版本1.1在Tomcat 7服务器上进行部署,则可能会出现403错误.版本1.1尚不支持Tomcat 7.
如果您使用的是Tomcat 7,则应使用Cargo.
如果您使用的是Tomcat 7:
在pom.xml中更改配置以使用插件的Tomcat 7版本
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<url>http://127.0.0.1:8080/manager/html</url>
<server>TomcatServer</server>
<path>/your_context</path>
<username>some_user_name</username>
<password>some_password</password>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)注意和值 - 它们与Tomcat 6的不同.
Run Code Online (Sandbox Code Playgroud)<server> <id>TomcatServer</id> <username>some_user_name</username> <password>some_password</password> </server>
| 归档时间: |
|
| 查看次数: |
48603 次 |
| 最近记录: |