Tomcat 9的Maven插件

Kul*_*dav 20 tomcat maven-3 maven

除了tomcat7-maven-plugin之外,我没有找到任何tomcat-maven-plugin.我可以将它与apache-tomcat-9.0.0.M15一起使用吗?

rog*_*lad 15

是的你可以使用它.我试过,它在tomcat 9上为我工作

<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>
        <path>/myapp</path>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

Maven的目标:

mvn tomcat7:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy
Run Code Online (Sandbox Code Playgroud)

注意:不要忘记在tomcat-users.xml和maven settings.xml中添加tomcat用户

Tomcat的user.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="admin" password="password" roles="manager-gui,manager-script" />
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)

manager-script role使应用程序即maven能够将jar/war部署到应用程序服务器.

Maven文件settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
    <servers>
        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>password</password>
        </server>
    </servers>
</settings>
Run Code Online (Sandbox Code Playgroud)

  • 您的回答是什么使它运行Tomcat 9? (2认同)
  • 它使用 maven-plugin-tomcat7 部署在单独运行的 tomcat9 上。它不适用于目标运行、运行战争、仅运行战争等 (2认同)

hol*_*s83 9

如其他答案所述,tomcat7-maven-plugin仍可用于部署到运行的 Tomcat 9 中,并且存在管理器应用程序。但是,要运行嵌入式Tomcat 9,请尝试使用 Cargo 插件:

<plugin>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-maven2-plugin</artifactId>
  <version>1.7.6</version>
  <configuration>
    <container>
      <containerId>tomcat9x</containerId>
      <type>embedded</type>
    </container>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

从以下开始:

mvn org.codehaus.cargo:cargo-maven2-plugin:run
Run Code Online (Sandbox Code Playgroud)


hur*_*yag 8

我很长时间都在寻找同一问题的答案。现在我发现了。

            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.8.3</version>
                <configuration>
                    <container>
                        <containerId>tomcat9x</containerId>
                        <type>embedded</type>
                    </container>
                    <deployables>
                        <deployable>
                            <type>war</type>
                            <location>${project.build.directory}/${project.build.finalName}.war</location>
                            <properties>
                                <context>/</context>
                            </properties>
                        </deployable>
                    </deployables>
                </configuration>
            </plugin>

Run Code Online (Sandbox Code Playgroud)

并运行

mvn package cargo:run

Run Code Online (Sandbox Code Playgroud)