【问题标题】:Tomcat 8 Maven Plugin for Java 8适用于 Java 8 的 Tomcat 8 Maven 插件
【发布时间】:2015-01-09 02:52:51
【问题描述】:

tomcat7-maven-plugin 是否与 tomcat 8 服务器和 java 8 一起使用?我找不到任何tomcat8-maven-plugin。

【问题讨论】:

标签: tomcat java-8 maven-tomcat-plugin tomcat8


【解决方案1】:

是的,你可以,

在您的 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:deploy 或 mvn 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)

注意:
Tomcat 管理器应该正在运行或正确设置,然后才能与 maven 一起使用。

祝你好运!

【讨论】:

  • > mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run INFO:正在启动 Servlet 引擎:Apache Tomcat/7.0.47
  • 只有在本地 PC 上有 tomcat 时才好。不能解决嵌入式 tomcat 的问题
  • 将用户名和密码放在 POM 中是多余的,并且存在安全风险(尤其是当您将代码签入存储库时)。在 POM 中通过 ID 识别服务器的全部意义在于,Maven 可以在特定于用户的设置文件中查找用户名和密码(未检入源代码控制)。但除此之外,这篇文章真的很有帮助——谢谢。
  • tomcat7-maven-plugin,7代表什么?是java版本还是tomcat版本。我可以将 tomcat7-maven-plugin 与 Tomcat-9 一起使用吗?
  • 在哪里可以找到以下文件:tomcat-users.xml - (PROJECT_NAME\target\tomcat\conf\tomcat-users.xml?),settings.xml - (???)。我有 maven 项目,但仍然无法弄清楚
【解决方案2】:

插件运行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 embedded tomcat: custom context.xml

【讨论】:

    【解决方案3】:

    差不多 2 年后....
    这个 github project readme 有一些清晰的 maven 插件配置,根据这个 apache github project,插件本身似乎很快就会实现。

    【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      自 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 中心),因此您应该将存储库添加到 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>
      

      【讨论】:

      • 试过但看到Could not transfer artifact org.apache.tomcat.maven:tomcat8-maven-plugin:pom:2.2 from/to icm (http://maven.icm.edu.pl/artifactory/repo): Authentication failed for http://maven.icm.edu.pl/artifactory/repo/org/apache/tomcat/maven/tomcat8-maven-plugin/2.2/tomcat8-maven-plugin-2.2.pom 401 Unauthorized
      【解决方案6】:

      另一个解决方案(如果可能的话)是使用 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

      【讨论】:

        猜你喜欢
        • 2016-05-26
        • 2015-11-30
        • 2017-12-21
        • 1970-01-01
        • 2017-10-11
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多