如何从maven运行tomcat?

时间:2016-07-18 08:15:19

标签: java maven tomcat7

有2个插件tomcat7-maven-pluginmaven-t7-plugin都有很多目标,但是当我需要从文件夹运行tomcat时,所有这些插件都会构建战争并“运行”运行tomcat。 E. g。已经下载了需要运行的tomcat。有没有办法在不构建战争的情况下运行它,下载tomcat等?

question没有提供答案,因为它下载了一个tomcat,对它进行了战争,而需要运行已经存在的tomcat而不构建战争并再次下载tomcat。可能有一种方法为该插件配置tomcat文件夹?但我没有found任何属性。

4 个答案:

答案 0 :(得分:2)

您可以尝试使用maven-exec-plugin

<plugin>  
    <groupId>org.codehaus.mojo</groupId>  
    <artifactId>exec-maven-plugin</artifactId>  
    <version>1.1</version>  
    <executions>  
      <execution>  
        <id>stop-tomcat</id>  
        <phase>pre-clean</phase>  
        <goals>  
          <goal>exec</goal>  
        </goals>  
        <configuration>  
        <executable>${tomcat.stop.path}</executable>  
        </configuration>  
      </execution>  
      <execution>  
        <id>start-tomcat</id>  
        <phase>deploy</phase>  
        <goals>  
          <goal>exec</goal>  
        </goals>  
        <configuration>  
        <executable>${tomcat.start.path}</executable>    
        </configuration>  
      </execution>  
    </executions>  
  </plugin>  

答案 1 :(得分:2)

tomcat7-maven-plugin不适用于此目的。

如果你希望你的普通tomcat实例在构建时运行...你只需要在构建之前启动它,或者找到另一种方法来运行它。也许maven-exec,如上所述,将会做

tomcat7-maven-plugin将您的构建部署到tomcat的测试实例,该测试实例将在测试完成后终止。

答案 2 :(得分:1)

您可以使用exec-maven-plugin(http://www.mojohaus.org/exec-maven-plugin/index.html)从maven执行命令行。

答案 3 :(得分:0)

使用货物插件

<plugin>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-maven2-plugin</artifactId>
  <version>1.6.6</version>
  <configuration>
    <container>
      <containerId>tomcat7x</containerId>
      <zipUrlInstaller>
        <url>https://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
      </zipUrlInstaller>
    </container>
    <configuration>
      <type>standalone</type>
      <properties>
        <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
        <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${cargo.debug.address}</cargo.jvmargs>
      </properties>
    </configuration>
  </configuration>
</plugin>

通过个人资料激活:

<profile>
    <id>cargo</id>
    <properties>
        <tomcat.version>7.0.42</tomcat.version>
        <cargo.servlet.port>6280</cargo.servlet.port>
        <cargo.debug.address>8000</cargo.debug.address>
    </properties>
    <build>
        <defaultGoal>cargo:run</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</profile>