我的问题是,在运行 mvn tomcat:[re]deploy 时http://localhost:8080/manager
,无论我为 tomcat 插件指定什么 url,我都会从中获取 HTTP 返回码 403
我在其他问题中发现
<url>http://localhost:8080/manager/text</url>
应该是我的目标
但是 maven completley 忽略了这个 xml-tag,它总是用于 /manager/deploy,即使我把完整的垃圾像,
<url>http://localhost:8080/nana/</url>
我尝试了什么:
- 重启tomcat,
- 检查 url 和用户名/密码的拼写,
- Tomcat正在运行,
- 如果我添加 manager-gui 作为角色,我可以在 gui 上使用用户名“mavendeployer”登录
- mvn install 工作正常
- 在整个项目中搜索 /manager 的出现 - 没有找到(如果 /nana 被放置为 url)
- 从 .pom 中的 tomcat7-plugin 中删除了
<version>
标签,试图确保它不是我使用的版本与我的 tomcat 版本的行为有趣
我正在使用 maven 3.0.5、tomcat7、Maven 为插件提供的任何版本
我的Tomcat用户:
<user username="mavendeployer"
password="maven"
roles = "manager-script,admin-script" />
我的 Maven 服务器设置:
<server>
<id>localtomcat</id>
<username>mavendeployer</username>
<password>maven</password>
</server>
我的 pom: (删除了很多依赖项以保持简短,构建工作正常,只是 mvn tomcat:[re]deploy 失败:
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.test</groupId>
<artifactId>testApp</artifactId>
<packaging>war</packaging>
<!-- <server SW version>-<REST interface version> -->
<version>1.6.4-1.0.3</version>
<name>Test</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</dependency>
...javax.servlet
...javax.servlet.jsp
...
</dependencies>
<build>
<finalName>test</finalName>
<plugins>
<!-- Maven Tomcat Plugin -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/nana/</url>
<server>localtomcat</server>
<path>/mim</path>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
我似乎无法找到将 url 更改为 /manager/text 或 manager/html 并没有解决 403 问题的问题,我错过了什么?