Плагін Tomcat 8 Maven для Java 8


77

Чи tomcat7-maven-pluginпрацює робота з сервером tomcat 8 та Java 8? Я не можу знайти жодного tomcat8-maven-plugin.


1
На жаль, він ще не готовий issues.apache.org/jira/browse/MTOMCAT-234
Gilberto

1
Спробуйте використовувати Cargo Див відповідь: stackoverflow.com/questions/24271213 / ...
Ронан Quillevere

Не могли б ви пояснити, що ви маєте на увазі в плагіні Tomcat7-maven, який працює з сервером tomcat 8? як зробити плагін для роботи з автономним сервером? плагін запускає власний сервер ..
Giorgi

Це відповідає на ваше запитання? Інтеграція Tomcat 8 з Maven
OhadR

Відповіді:


76

Так, ти можеш,

У своєму pom.xml додайте плагін tomcat. (Ви можете використовувати це як для Tomcat 7, так і для 8):

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>  

* розгортання / повторне розгортання

mvn tomcat7: розгортання АБО mvn tomcat7: передислокація

Спробував це на (як Ubuntu, так і Windows 8/10):
* Jdk 7 & Tomcat 7
* Jdk 7 & Tomcat 8
* Jdk 8 & Tomcat 7
* Jdk 8 & Tomcat 8
* Jdk 8 & Tomcat 9

Перевірено на Jdk 7/8 і Tomcat 7/8. (Працює з Tomcat 8.5 та 9)

Примітка:
Диспетчер Tomcat повинен бути запущений або правильно налаштований, перш ніж використовувати його з Maven.

Щасти!


> mvn org.apache.tomcat.maven: tomcat7-maven-plugin: 2.2: запустити ІНФОРМАЦІЯ: Запуск движка сервлетів: Apache Tomcat / 7.0.47
Григорій

8
це приємно лише в тому випадку, якщо на вашому локальному ПК є tomcat. Не вирішує проблему для вбудованого tomcat
довгий

8
Введення імені користувача та пароля до POM надлишкове та створює ризик для безпеки (особливо якщо ви переглядаєте свій код у сховищі). Вся суть ідентифікації сервера за ідентифікатором у POM полягає в тому, що Maven може шукати ім’я користувача та пароль у спеціальному файлі налаштувань користувача (не перевірено в контролі джерела). Але інакше ця публікація була справді корисною - дякую.
Гаррет Вілсон,

tomcat7-maven-plugin, що означає 7? Це версія Java або версія Tomcat. Чи можу я використовувати Tomcat7-Maven-Plugin з Tomcat-9?
Kuldeep Yadav

2
Де я можу знайти такі файли: tomcat-users.xml - (PROJECT_NAME \ target \ tomcat \ conf \ tomcat-users.xml?), Settings.xml - (???). У мене проект maven, але я все ще не можу його зрозуміти
Бенас,



0

З листопада 2017 року можна використовувати плагін tomcat8-maven:

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

Зверніть увагу, що цей плагін знаходиться в репозиторії ICM (а не в Maven Central), отже, вам слід додати репо до ваших сховищ плагінів у вашому pom.xml:

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

0

Іншим рішенням (якщо можливо) буде використання TomEE замість Tomcat, який має працюючий плагін maven:

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

Версія 7.1.1 обгортає Tomcat 8.5.41


-1

Зміна імені groupId та Mojo З моменту версії 2.0-beta-1 tomcat mojos було перейменовано на tomcat6 та tomcat7 з однаковими цілями.

Ви повинні налаштувати свій pom для використання цього нового groupId:

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

Або додайте ідентифікатор groupId у вашому settings.xml

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.