How to write a Maven build script to execute Java

自古美人都是妖i 提交于 2019-12-06 04:04:11

问题


How can I execute a Java program during the build, or after the build has just finished? Is it possible to do this directly from pom?

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

EDIT

Let's say I want to execute org.eclipse.content.MyClass. How would I needed to write the code?

This builds the project but it doesn't execute my class:

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

回答1:


Configure maven-exec-plugin with your pom

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

In line <phase>yourPhase</phase> insert maven phase in what this plugin should run.

This class need to be avaliable in pom classpath (as source or as a dependency). In other case if it shouldn't be a project dependency read this article how to configure a exec plugin.




回答2:


Try the exec maven plugin... Oops, I should've read more carefully :-(



来源:https://stackoverflow.com/questions/2243397/how-to-write-a-maven-build-script-to-execute-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!