Java 8的Tomcat 8 Maven插件

81

tomcat7-maven-plugin是否能够与Tomcat 8服务器和Java 8一起使用?我找不到任何tomcat8-maven-plugin


1
很遗憾,它还没有准备好。https://issues.apache.org/jira/browse/MTOMCAT-234 - Gilberto
1
尝试使用Cargo。参见答案:https://dev59.com/RGAf5IYBdhLWcg3wylMd#41771077 - Ronan Quillevere
你能解释一下Tomcat7-maven-plugin如何与Tomcat 8服务器配合工作吗?你是如何使插件能够与独立服务器一起工作的?插件会启动自己的服务器。 - Giorgi Tsiklauri
这个回答解决了你的问题吗?Tomcat 8与Maven的集成 - OhadR
6个回答

81

可以的。

在你的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:deploymvn tomcat7:redeploy

已在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)

注意:
在使用maven之前,应该运行或正确设置Tomcat管理器。

祝好运!


mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run信息:正在启动Servlet引擎:Apache Tomcat/7.0.47 - Grigory Kislin
9
只有在本地电脑上安装了Tomcat才算好。这对于嵌入式Tomcat并没有解决问题。 - long
8
在POM中放置用户名和密码是多余的且存在安全风险(特别是如果您将代码提交到存储库中)。在POM中通过ID标识服务器的整个目的是,以便Maven可以在用户特定设置文件中查找用户名和密码(不会被检入到源代码控制)。但总的来说,这篇文章真的很有帮助--谢谢。 - Garret Wilson
2
我在哪里可以找到以下文件:tomcat-users.xml - (PROJECT_NAME\target\tomcat\conf\tomcat-users.xml?),settings.xml - (???)。我有Maven项目,但仍然无法弄清楚。 - Benas
在这个解决方案中,它使用了一个单独安装的Apache Tomcat,并且您可以在安装Tomcat的位置或路径中找到它(如果是从zip或tar.gz文件中提取,则为已提取)。例如,C:\ apache-tomcat-8 \ conf \ tomcat-users.xml。如果您在Ubuntu中...例如/opt/tomcat/conf/tomcat-users.xml。 - Borgy Manotoy
显示剩余5条评论

6

插件运行Tomcat 7.0.47:

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

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

这是一个与Tomcat 8和Java 8一起运行插件的示例:Cargo嵌入式Tomcat:自定义context.xml

1

通过此URL链接我的答案https://dev59.com/sFoU5IYBdhLWcg3wg3Oo - Praveen Kumar K S

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


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>

3
尝试但看到“无法传输组件 org.apache.tomcat.maven:tomcat8-maven-plugin:pom:2.2 到 icm (http://maven.icm.edu.pl/artifactory/repo):针对 http://maven.icm.edu.pl/artifactory/repo/org/apache/tomcat/maven/tomcat8-maven-plugin/2.2/tomcat8-maven-plugin-2.2.pom 的身份验证失败 401 未经授权”。 - Hawk
此外,从第三方网站(如http://maven.icm.edu.pl/artifactory)下载任何内容到您的笔记本电脑上是不安全的。 - Sergio Kosik

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接