Tomcat 7 - Maven插件?

时间:2010-09-15 01:33:37

标签: maven-2 maven-plugin tomcat7

我只是想仔细检查,是否有人发现或正在使用Tomcat 7插件?如果没有,是否有人有兴趣帮我启动并运行?

我想要另一种快速替代Glassfish的方法,JBoss AS 6.0对于快速模型仍然有点沉重。

沃尔特

9 个答案:

答案 0 :(得分:41)

它对我有用,如下所示。

我的setting.xml

 <server>  
   <id>local_tomcat</id>  
   <username>ray</username>  
   <password>password</password>  
 </server>  

我的插件配置

 <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <configuration>
     <server>local_tomcat</server>  
     <url>http://localhost:8080/manager/text</url>  
  </configuration>
 </plugin>

我的tomcat-users.xml

 <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
  <user password="password" roles="manager-gui, manager-script" username="ray"/>

答案 1 :(得分:13)

我使用Apache的官方 Tomcat7 Maven插件,如下所示:

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <path>/${project.artifactId}</path>
                    <port>8080</port>
                </configuration>
            </plugin>

并运行它:mvn tomcat7:run

答案 2 :(得分:8)

在Google代码上有t7mp - Tomcat 7 Maven插件。

Cargo(及其Cargo Maven2插件)也支持Tomcat 7(这是CARGO-790)。

Apache Tomcat Maven Plugin 2.0-beta-1支持Tomcat 7。

答案 3 :(得分:7)

使用maven货物,您可以通过以下方式配置项目:

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.0.6</version>
    <configuration>
        <container>
            <containerId>tomcat7x</containerId>
            <type>installed</type>
            <home>${catalina.home}</home>
        </container>
        <configuration>
            <type>existing</type>
            <home>${catalina.home}</home>
        </configuration>
        <deployer>
            <type>installed</type>
            <deployables>
                <deployable>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>${project.artifactId}</artifactId>
                    <type>war</type>
                </deployable>
            </deployables>
        </deployer>
    </configuration>
</plugin>       

不要忘记配置catalina.home属性

您可以使用以下方式部署它:

mvn cargo:deploy

答案 4 :(得分:7)

Apache Tomcat团队开发了Tomcat Maven Plugin 7插件。

目前,您必须签出源并将其安装到本地存储库。 之后,您可以在pom的插件部分中使用它:

      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.0-SNAPSHOT</version>
        <executions>
          <execution>
            <id>start-tomcat</id>
            <phase>compile</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
                  <path>/</path>
                  <serverXml>src/main/tomcatconf/server.xml</serverXml>
                </configuration>
          </execution>
        </executions>
      </plugin>

答案 5 :(得分:5)

我连续三天遇到这个错误后,这是我的解决方案:

您用于连接的用户至少需要角色管理器脚本。 在/conf/tomcat-users.xml

<role rolename="manager-script"/>
<user username="test" password="test" roles="manager-script"/>

在您的pom.xml中,包含以下插件

    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.0</version>
      <configuration>
        <url>http://server.url:8080/manager/text</url>
        <path>/YourApp</path>
        <username>test</username>
        <password>test</password>
      </configuration>
    </plugin>

与我在互联网上发现的相反,您不需要编辑您的maven setting.xml。 tomcat7-maven-plugin可以直接在configuration-tag

中配置

url-tag的一个词:我测试了后缀

  • /管理器
  • /经理/ HTML
  • / manager / text

其中只有/ manager / text工作

我的版本:

  • Tomcat:7.0.33
  • Maven:3.0.4
  • tomcat7-maven-plugin:2.0
  • Java:1.7.0_07

答案 6 :(得分:2)

我正在为我的嵌入式tomcat实例使用tomcat7-maven-plugin。这是我配置它的方式。由于我的应用程序需要jaas身份验证,我也可以在设置中提供。

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
    <!-- http port -->
        <port>8080</port>
        <path>/gcs-explorers</path>
        <contextFile>${basedir}/src/main/webapp/META-INF/context.xml</contextFile>
        <addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
        <systemProperties>
            <java.security.auth.login.config>${basedir}/conf/jaas.config</java.security.auth.login.config>
        </systemProperties>
        <url>http://127.0.0.1:8080/manager/html</url>
        <username>admin</username>
        <password>admin</password>
        <addContextWarDependencies>true</addContextWarDependencies>
        <addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
        <configurationDir>${basedir}</configurationDir>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>2.2.0</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.company.package.jaas</groupId>
            <artifactId>gcs-jaas</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.company.gcs</groupId>
            <artifactId>package-file-share</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</plugin>

答案 7 :(得分:0)

实际上,标准插件适合我。我只需要在tomcat用户中创建角色管理器脚本,并将url参数更改为http://localhost:8080/manager/html以使其正常工作:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://localhost:8080/manager/html</url>
        <server>local</server>
        <path>/${project.artifactId}</path>
        <update>true</update>
    </configuration>
</plugin>

答案 8 :(得分:-1)

对于Tomcat 7,

第1步: 服务器的模块选项卡添加

Document base: <PATH>\Apache-Tomcat-7.0.0\webapps\manager
Path: /manager

第2步: 将POM更新为:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <update>true</update>
                <warFile>target/${project.artifactId}-${project.version}.war</warFile>
                <path>/${project.artifactId}</path>
                <username>tomcat_user</username>
                <password>tomcat_password</password>
        </configuration>
</plugin>