Tomcat 9 的 Maven 插件

问题描述 投票:0回答:4

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

maven tomcat maven-3
4个回答
27
投票

您可以使用该插件部署到单独运行的 tomcat 9。

run
目标不会起作用,但
deploy
目标会起作用。

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

Maven 目标:

mvn tomcat7:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy

注意:不要忘记在 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>

manager-script 角色使应用程序(即 Maven)能够将 jar/war 部署到应用程序服务器。

Maven 文件设置.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
    <servers>
        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>password</password>
        </server>
    </servers>
</settings>

13
投票

正如其他答案中所述,tomcat7-maven-plugin仍然可以用于部署到正在运行的 Tomcat 9(带有管理器应用程序)。但是,要运行 embedded 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>

开始于:

mvn org.codehaus.cargo:cargo-maven2-plugin:run

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>

并与

一起运行
mvn package cargo:run


0
投票

我让它与cargo-maven3-plugin一起使用

<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven3-plugin</artifactId>
<version>1.10.8</version>
<configuration>
    <container>

        <containerId>tomcat9x</containerId>
        <type>installed</type>

        <systemProperties>
            <property1>value1</property1>
        </systemProperties>

    </container>

    <deployables>
        <deployable>
            <artifactId>SRP</artifactId>
            <groupId>com.statestr</groupId>
            <type>war</type>
            <location>${project.build.directory}/${project.build.finalName}.war</location>
            <pingURL>http://127.0.0.1:8080/APP</pingURL>
        </deployable>
    </deployables>

    <configuration>
        <type>existing</type>
        <home>C://DEVTOOLS//apache-tomcat-9.0.36</home>
    </configuration>

</configuration>

<executions>
    <execution>
        <id>start-server</id>
        <phase>pre-integration-test</phase>
        <goals>
            <goal>start</goal>
        </goals>
    </execution>
</executions>
© www.soinside.com 2019 - 2024. All rights reserved.