2010-02-11 23 views
3

如何在构建过程中或构建完成后执行Java程序?是否有可能直接从POM做到这一点?如何编写Maven构建脚本以执行Java

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> 

回答

4

配置Maven-EXEC与你的POM -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>插入行家phase

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

+0

@cetnar这是怎么回事? ' yourPhase ... ',可以说我想执行org.eclipse.content.MyClass如何编写代码? – 2010-02-11 09:29:53

+0

@cetnar我更新了我的问题 – 2010-02-11 09:37:20

+0

@Gandalf我已经更新了我的答案。主要类和其他参数可以放在配置部分。 – cetnar 2010-02-11 09:39:42

2

尝试exec maven plugin ......哎呀,我应该更仔细地阅读:-(

+0

@PéterTörök我更新了我的问题 – 2010-02-11 09:38:15