Tomcat 8 Maven Plugin für Java 8

77

Ist die tomcat7-maven-pluginArbeit mit einem Kater 8 Server und Java - 8? Ich kann keine finden tomcat8-maven-plugin.

Myborobudur
quelle
1
Leider ist es noch nicht fertig issue.apache.org/jira/browse/MTOMCAT-234
Gilberto
1
Versuchen Sie es mit Fracht Siehe Antwort: stackoverflow.com/questions/24271213/…
Ronan Quillevere
Können Sie erklären, was Sie mit dem Tomcat7-Maven-Plugin meinen, das mit einem Tomcat 8-Server arbeitet? Wie lässt sich das Plugin mit einem eigenständigen Server arbeiten? Plugin startet seinen eigenen Server ..
Giorgi Tsiklauri
Beantwortet das deine Frage? Tomcat 8-Integration mit Maven
OhadR

Antworten:

76

Ja, du kannst,

Fügen Sie in Ihrer pom.xml das Tomcat-Plugin hinzu. (Sie können dies sowohl für Tomcat 7 als auch für Tomcat 8 verwenden.)

pom.xml

<!-- Tomcat plugin -->  
<plugin>  
 <groupId>org.apache.tomcat.maven</groupId>  
 <artifactId>tomcat7-maven-plugin</artifactId>  
 <version>2.2</version>  
 <configuration>  
  <url>http:// localhost:8080/manager/text</url>  
  <server>TomcatServer</server>    *(From maven > settings.xml)*
  <username>*yourtomcatusername*</username>  
  <password>*yourtomcatpassword*</password>   
 </configuration>   
</plugin>   

tomcat-users.xml

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

settings.xml (maven> conf)

<servers>  
    <server>
       <id>TomcatServer</id>
       <username>admin</username>
       <password>password</password>
    </server>
</servers>  

* Bereitstellen / erneutes Bereitstellen

mvn tomcat7: bereitstellen ODER mvn tomcat7: neu bereitstellen

Versuchte dies auf (sowohl Ubuntu als auch Windows 8/10):
* Jdk 7 & Tomcat 7
* Jdk 7 & Tomcat 8
* Jdk 8 & Tomcat 7
* Jdk 8 & Tomcat 8
* Jdk 8 & Tomcat 9

Getestet auf Jdk 7/8 und Tomcat 7/8. (Funktioniert mit Tomcat 8.5 und 9)

Hinweis: Der
Tomcat-Manager sollte ausgeführt oder ordnungsgemäß eingerichtet werden, bevor Sie ihn mit maven verwenden können.

Viel Glück!

Borgy Manotoy
quelle
> mvn org.apache.tomcat.maven: tomcat7-maven-plugin: 2.2: INFO ausführen: Servlet Engine starten: Apache Tomcat / 7.0.47
Grigory Kislin
8
Das ist nur dann schön, wenn Sie Tomcat auf Ihrem lokalen PC haben. Löst das Problem für eingebetteten Kater nicht
lange
8
Das Einfügen des Benutzernamens und des Kennworts in das POM ist redundant und stellt ein Sicherheitsrisiko dar (insbesondere, wenn Sie Ihren Code in ein Repository einchecken). Der springende Punkt bei der Identifizierung des Servers anhand der ID im POM besteht darin, dass Maven den Benutzernamen und das Kennwort in der benutzerspezifischen Einstellungsdatei nachschlagen kann (nicht in die Quellcodeverwaltung eingecheckt). Aber sonst war dieser Beitrag wirklich hilfreich --- danke.
Garret Wilson
tomcat7-maven-plugin, wofür steht 7? Ist es Java-Version oder Tomcat-Version. Kann ich das Tomcat7-Maven-Plugin mit Tomcat-9 verwenden?
Kuldeep Yadav
2
Wo finde ich die folgenden Dateien: tomcat-users.xml - (PROJECT_NAME \ target \ tomcat \ conf \ tomcat-users.xml?), Settings.xml - (???). Ich habe ein Maven-Projekt, kann es aber immer noch nicht herausfinden
Benas
6

Plugin ausführen Tomcat 7.0.47:

mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run

 ...
 INFO: Starting Servlet Engine: Apache Tomcat/7.0.47

Dies ist ein Beispiel für die Ausführung eines Plugins mit Tomcat 8 und Java 8: Cargo Embedded Tomcat: Custom context.xml

Grigory Kislin
quelle
0

Seit November 2017 kann man das tomcat8-maven-plugin verwenden:

<!-- https://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat8-maven-plugin -->
<dependency>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat8-maven-plugin</artifactId>
    <version>2.2</version>
</dependency>

Beachten Sie, dass sich dieses Plugin im ICM-Repo befindet (nicht in Maven Central). Daher sollten Sie das Repo zu Ihren Plugins-Repositorys in Ihrer pom.xml hinzufügen:

<pluginRepositories>
    <pluginRepository>
        <id>icm</id>
        <name>Spring Framework Milestone Repository</name>
        <url>http://maven.icm.edu.pl/artifactory/repo</url>
    </pluginRepository>
</pluginRepositories>
OhadR
quelle
0

Eine andere Lösung (wenn möglich) wäre die Verwendung von TomEE anstelle von Tomcat, das über ein funktionierendes Maven-Plugin verfügt:

<plugin>
    <groupId>org.apache.tomee.maven</groupId>
    <artifactId>tomee-maven-plugin</artifactId>
    <version>7.1.1</version>
</plugin>

Version 7.1.1 umschließt einen Tomcat 8.5.41

thi gg
quelle
-1

Änderung des Namens von groupId und Mojo Seit Version 2.0-beta-1 wurde tomcat mojos mit denselben Zielen in tomcat6 und tomcat7 umbenannt.

Sie müssen Ihren POM für die Verwendung dieser neuen Gruppen-ID konfigurieren:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat6-maven-plugin</artifactId>
      <version>2.3-SNAPSHOT</version>
    </plugin>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.3-SNAPSHOT</version>
    </plugin>
  </plugins>
</pluginManagement>

Oder fügen Sie die groupId in Ihre settings.xml ein

.... org.apache.tomcat.maven ....

Maojun
quelle