【问题标题】:Execute jar command with Maven使用 Maven 执行 jar 命令
【发布时间】:2013-09-10 09:25:00
【问题描述】:

我需要跑步

jar -cvf myapp.war *

使用 Maven 构建命令,我有一个项目“myapp”。目前我有一些shell脚本来构建war文件。

cd /something/myapp
jar -cvf myapp.war *

它生成 myapp.war 文件,不关心 web app 文件夹结构(它已经在 web app 文件夹结构中)。

我想使用 Maven pom 而不是 shell 脚本,但我想使用 Maven 运行相同的命令。

【问题讨论】:

    标签: maven maven-2 maven-3 maven-plugin


    【解决方案1】:

    你应该看看这个 maven 插件:

    http://mojo.codehaus.org/exec-maven-plugin/usage.html

    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    

    它允许您在构建生命周期中执行系统和 Java 程序。

    根据你的需要,你可以使用 exec:java 目标。

    您还可以实现一个简单的 Maven 插件(Mojo 类),从您的 jar 中调用所需的方法。

    【讨论】:

      【解决方案2】:

      将项目的&lt;packaging&gt; 更改为war 并使用maven-war-plugin。 Maven 对不同的打包类型有不同的插件。如果您计划从一个项目中生成多个工件,您也可以尝试maven-assembly-plugin

      【讨论】:

        【解决方案3】:

        我得到了解决方案:

        1. 不要为此 pom 指定 \&lt;packaging\&gt;\&lt;/packaging\&gt;

        2. 添加以下代码并删除任何已在&lt;plugins&gt; 中定义的 maven-war 或 maven-jar 插件。

          <build>
              <plugins>
                  <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>exec-maven-plugin</artifactId>
                      <executions>
                          <execution>
                              <id>export_objects</id>
                              <phase>install</phase>
                              <goals>
                                  <goal>exec</goal>
                              </goals>
                          </execution>
                      </executions>
                      <configuration>
                          <executable>jar</executable>
                          <commandlineArgs> -cvf myapp.war *</commandlineArgs>
                      </configuration>
                  </plugin>
              </plugins>
          </build>
          

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-04-01
          • 1970-01-01
          • 2012-01-01
          • 2020-04-17
          • 2014-05-04
          • 2011-08-25
          • 1970-01-01
          相关资源
          最近更新 更多