Ich wollte nur nachprüfen, hat jemand etwas gefunden oder arbeitet an einem Tomcat 7-Plugin? Wenn nicht, ist jemand daran interessiert, mir zu helfen, es zum Laufen zu bringen?
Ich möchte eine weitere schnelle Alternative zu Glassfish, JBoss AS 6.0 ist immer noch etwas schwer für schnelle Modelle.
Walter
Es gibt t7mp - ein Tomcat 7 Maven Plugin - im Google-Code.
Cargo (und sein Cargo Maven2 Plugin) unterstützt auch Tomcat 7 (dies war CARGO-790 ).
Apache Tomcat Maven Plugin 2.0-beta-1 unterstützt Tomcat 7.
Es funktioniert für mich wie folgt.
Meine Einstellung.xml
<server>
<id>local_Tomcat</id>
<username>ray</username>
<password>password</password>
</server>
Meine Plugin-Konfiguration
<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>
Meine Tomcat-Benutzer.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user password="password" roles="manager-gui, manager-script" username="ray"/>
ich verwende das offizielle Tomcat7 Maven Plugin von Apache wie folgt:
<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>
und um es auszuführen: mvn Tomcat7:run
Mit Maven Cargo können Sie Ihr Projekt so konfigurieren:
<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>
vergessen Sie nicht, Ihre catalina.home
-Eigenschaft zu konfigurieren
Sie können es bereitstellen mit:
mvn cargo:deploy
Es gibt das Tomcat Maven Plugin 7 Plugin, das vom Apache Tomcat-Team entwickelt wurde.
Zur Zeit müssen Sie die Quellen auschecken und in Ihrem lokalen Repository installieren. Danach können Sie sie im Plugin-Abschnitt Ihres POMs verwenden:
<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>
Nachdem ich diesen Fehler drei Tage hintereinander hatte, ist hier meine Lösung:
Der Benutzer, den Sie für die Verbindung verwenden, benötigt mindestens das Rollenmanager-Skript . In Ihrer /conf/Tomcat-users.xml
<role rolename="manager-script"/>
<user username="test" password="test" roles="manager-script"/>
Fügen Sie in Ihrer pom.xml das folgende Plugin ein
<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>
Im Gegensatz zu dem, was ich im Internet gefunden habe, müssen Sie NICHT Ihre Maven-Einstellung.xml bearbeiten. Das Tomcat7-Maven-Plugin kann direkt im Konfigurations-Tag konfiguriert werden
Ein Wort zum URL-Tag: Ich habe das Suffix getestet
davon nur/manager/text funktionierte
Meine Versionen:
Ich verwende Tomcat7-Maven-Plugin für meine eingebettete Tomcat-Instanz. So habe ich es konfiguriert. Da meine App Jaas-Authentifizierung erfordert, kann ich dies auch in der Einstellung selbst vornehmen.
<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>
Eigentlich funktioniert das Standard-Plugin für mich. Ich musste nur das Rollenmanager-Skript in Tomcat-Benutzern erstellen und den URL-Parameter in http://localhost:8080/manager/html
ändern, damit es funktioniert:
<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>