适用于Java 8的Tomcat 8 Maven插件


77

是否tomcat7-maven-plugin可以使用tomcat 8服务器和Java 8?我找不到tomcat8-maven-plugin


1
不幸的是,这还没有准备好issue.apache.org/jira/browse/MTOMCAT-234
Gilberto


您能解释一下在与tomcat 8服务器一起工作的Tomcat7-maven-plugin中的含义吗?如何使插件与独立服务器一起使用?插件启动它自己的服务器..
Giorgi的Tsiklauri

这回答了你的问题了吗?Tomcat 8与Maven集成
OhadR

Answers:


76

是的你可以,

在您的pom.xml中,添加tomcat插件。(您可以将其用于Tomcat 7和Tomcat 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:run信息:启动Servlet引擎:Apache Tomcat / 7.0.47
Grigory Kislin '16

8
仅当您的本地PC上有tomcat时,这才很好。不解决嵌入式tomcat的问题
长期

8
将用户名和密码放在POM中是多余的,并且存在安全风险(尤其是如果您将代码检入到存储库中)。通过POM中的ID标识服务器的全部目的是,使Maven可以在用户特定的设置文件中查找用户名和密码(未检入源代码管理)。但是除此之外,这篇文章真的很有帮助-谢谢。
Garret Wilson

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项目,但仍然无法弄清楚
Benas



0

自2017年11月起,您可以使用tomcat8-maven-plugin:

<!-- 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中的pluginsRepositories中:

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

或在您的settings.xml中添加groupId

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.