tomcat7 maven插件忽略配置

时间:2013-07-16 07:28:41

标签: java apache maven tomcat

我的Probelm是,当运行mvn tomcat时:[重新]部署我从http://localhost:8080/manager获取HTTP返回码403,无论我为tomcat插件指定了什么url

我在其他问题中发现了

<url>http://localhost:8080/manager/text</url>

应该是我的目标,

但maven completley忽略了这个xml-tag,它总是用于/ manager / deploy,即使我把完全垃圾一样,

 <url>http://localhost:8080/nana/</url>

我尝试了什么:

  • 重新启动tomcat,
  • 检查了网址和用户名/密码的拼写,
  • tomcat正在运行,
  • 我可以使用用户名&#34; mavendeployer&#34;如果我加上gui 经理桂为角色
  • mvn install正常工作
  • 在整个项目中搜索/经理发现 - 没有找到(如果/ nana是作为网址)
  • 从.pom中的tomcat7-plugin中删除了<version>标记,试图确保 这不是我使用的版本,我的版本很有趣 of tomcat

我正在使用maven 3.0.5,tomcat7,Maven为插件提供的任何版本

我的tomcat-user:

    <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:[重新]部署失败:

<?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>

我似乎无法找到一个问题,将更改网址更改为/ manager / text或manager / html无法解决403问题,我缺少什么?

2 个答案:

答案 0 :(得分:8)

好的,解决方案非常棘手!目标不是tomcat]部署,它是tomcat * 7 *:[重新部署^^,无论如何谢谢

答案 1 :(得分:2)

以下适用于我:

我的tomcat-users.xml - 请注意角色元素

<tomcat-users>
  <role rolename="manager-script"/>
  <user username="mavendeployer" password="maven" roles="manager-script"/>
</tomcat-users>

我的pom.xml

<build>
  <finalName>your_web_app_name</finalName>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
      </plugin>
    </plugins>
  </pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <configuration>
        <server>localtomcat</server>
        <update>true</update>
        <url>http://localhost:8080/manager/text</url>
      </configuration>
    </plugin>
  </plugins>
</build>

你的Maven settings.xml对我来说似乎很好。

如果仍然无效,请告诉我,我会寻找其他设置/配置。