如何编写Maven构建脚本来执行Java

时间:2010-02-11 09:20:30

标签: java eclipse maven-2

如何在构建期间或构建完成后执行Java程序?是否有可能直接从pom做到这一点?

mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main

修改

假设我要执行org.eclipse.content.MyClass。我怎么需要编写代码?

这会构建项目,但它不会执行我的类:

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <phase>deploy</phase>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>org.eclipse.content.MyClass</mainClass>
                </configuration>
            </plugin>

2 个答案:

答案 0 :(得分:5)

使用您的pom配置maven-exec-plugin

<build>
<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution>
        <phase>yourPhase</phase>
        ...
        <goals>
          <goal>java</goal>
        </goals>
           <configuration>
             <mainClass>mainClass=org.sonatype.mavenbook.weather.Main</mainClass>
          </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
</build>

在行<phase>yourPhase</phase>中插入maven phase此插件应运行的内容。

这个类需要在pom类路径中可用(作为源或作为依赖项)。在其他情况下,如果它不应该是项目依赖项,请阅读this article如何配置exec插件。

答案 1 :(得分:2)

尝试exec maven plugin ...糟糕,我应该仔细阅读: - (