【问题标题】:How to write a Maven build script to execute Java如何编写一个 Maven 构建脚本来执行 Java
【发布时间】:2010-02-11 09:20:29
【问题描述】:

如何在构建期间或构建刚刚完成之后执行 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>

【问题讨论】:

    标签: java eclipse maven-2


    【解决方案1】:

    用你的 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>
    

    &lt;phase&gt;yourPhase&lt;/phase&gt; 行中插入 maven phase 这个插件应该运行的内容。

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

    【讨论】:

    • @cetnar 这个呢? &lt;phase&gt;yourPhase&lt;/phase&gt;...&lt;goals&gt;,假设我想执行 org.eclipse.content.MyClass 我需要如何编写代码?
    • @Gandalf 我已经更新了我的答案。主类和其他参数可以放在配置部分。
    • @cetnar 我将 mainClass= 添加到配置属性中,仍然没有结果.. 也许我应该将对构建类的引用放在 target 而不是 org ...
    • @cetnar 我在阶段之前添加了&lt;id&gt; 并且它工作了.. 但现在我得到了原因:执行 Java 类时发生异常。 mainClass=org.sonatype.mavenbook.weather.Main ..它说我得到了一个例外..我怎么能看到那个例外,它作为一个独立的java文件运行正常..
    • @甘道夫。发生了什么?有什么错误吗?你叫什么?运行mvn deploy 看看它是否有效。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 2020-12-02
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多