2010-09-15 29 views
28

Solo quería verificarlo dos veces, ¿alguien ha encontrado o está trabajando en un plugin Tomcat 7? Si no, ¿alguien está interesado en ayudarme a ponerlo en marcha?Tomcat 7 - Maven Plugin?

Quiero otra alternativa rápida a Glassfish, JBoss AS 6.0 es un poco pesado aún para maquetas rápidas.

Walter

Respuesta

8

Hay t7mp - un Tomcat 7 Maven Plugin - el código de Google.

Cargo (y su complemento Cargo Maven2) también tiene soporte para Tomcat 7 (esto era CARGO-790).

Apache Tomcat Maven Plugin 2.0-beta-1 soporta Tomcat 7.

+0

Soy consciente de la carga, todavía prefiere la versión incrustada sin embargo. Veré el plugin t7mp, parece lo que quiero. –

+0

Creé http://jira.codehaus.org/browse/MTOMCAT-62 para el "Complemento Tomcat de Maven 2.x" –

+0

Apache Tomcat Maven Plugin 2.0-beta-1 admite Tomcat 7 :) http: //tomcat.apache .org/maven-plugin-2/ – flob

-1

Para Tomcat 7,

Paso 1: ficha módulos de servidor de añadir

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

Paso 2: Actualización POM para:

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

Funciona para mí como th e siguiente.

Mi setting.xml

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

Mi configuración del plugin

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

Mi gato-users.xml

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

Sí, eso funciona. También estaba luchando con esto, pero la configuración de URL era lo que necesitaba. Parece pensar que Tomcat 6 era 'http: // localhost: 8080/manager', mientras que Tomcat 7 es' http: // localhost: 8080/manager/text' – Jesse

+0

La URL que termina en/text no funcionaba para mí, tuvo que usar/html para implementar de forma remota. No estoy seguro de por qué: la documentación de Tomcat parece estar a favor del/texto. –

+0

Tenía que tener la ruta en la configuración para que funcione también./myWebApp bh5k

7

Usando carga experto en su puede coufigure su proyecto de esa manera:

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

no se olvide de configurar su propiedad catalina.home

El se puede implementar usando:

mvn cargo:deploy 
+0

Esta es una buena alternativa. +1 y Gracias – Azi

7

Existe el plugin Tomcat Maven Plugin 7 desarrollado por el equipo de Apache Tomcat.

Actualmente tiene que verificar las fuentes e instalarlas en su repositorio local. Después de que se puede usar en la sección de plug-in de su 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> 
2

estoy usando tomcat7-experto-plugin para mi instancia de Tomcat embebido. Así es como lo he configurado. Como mi aplicación requiere autenticación jaas, también puedo proporcionarla en la configuración misma.

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

utilizo el oficial Tomcat7 Maven Plugin de Apache de la siguiente manera:

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

y para ejecutarlo: mvn tomcat7:run

+0

mvn tomcat7: ejecutar es lo que nadie parece mencionar, estaba ejecutando mvn tomcat: ejecutar que inicia Tomcat6 aunque no he especificado el complemento tomcat6 en ningún lado. –

0

En realidad, el plugin estándar funciona para mí. Sólo tenía que crear el gestor de script papel en usuarios de Tomcat y cambiar el parámetro url para http://localhost:8080/manager/html con el fin de hacer que funcione:

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

Después de que tuve este error durante tres días seguidos, aquí está mi solución:

El usuario que está utilizando para conectarse necesita al menos el role manager-script. En su /conf/tomcat-users.xml

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

En su pom.xml, incluyen los siguientes plug-in

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

Al contrario de lo que he encontrado en internet NO es necesario para editar su configuración maven.xml. El tomcat7-maven-plugin puede estar configurado directamente en la configuración-tag

Una palabra al-tag url: Probé el sufijo

  • /gerente
  • /manager/html
  • /gestor/texto

de los cuales solo/gerente/texto trabajó

Mis versiones:

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