如何运行Maven编译的程序?

时间:2018-01-08 05:37:48

标签: java maven

我开始通过阅读https://spring.io/guides/gs/maven/来学习Maven。

在示例中,成功运行mvn compile后,如何通过maven运行程序?这篇文章似乎没有从文章中找到。

感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用

调用当前pom.xml的组合依赖项的类路径的Java程序(即带有public static void main(String[] args)签名)
mvn -q exec:java

您需要在pom.xml中配置要在

中调用的主类
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>demo.Main</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

这对测试和开发很有用,但不适用于部署

有关详细信息,请参阅http://www.mojohaus.org/exec-maven-plugin/usage.html

答案 1 :(得分:1)

通常,maven不用于运行代码。这是一个构建工具,可用于编译,运行单元或集成测试,在本地和远程部署代码等。

它基于构建生命周期的概念,而构建生命周期又由构建阶段列表定义。例如,默认生命周期具有以下阶段:

  • 验证 - 验证项目是否正确并且所有必要信息均可用
  • 编译 - 编译项目的源代码
  • 测试 - 使用合适的单元测试框架测试已编译的源代码。这些测试不应要求打包或部署代码
  • - 获取已编译的代码并将其打包为可分发的格式,例如JAR。
  • 验证 - 对集成测试结果进行任何检查以确保符合质量标准
  • 安装 - 将软件包安装到本地存储库中,以便在本地作为其他项目的依赖项使用
  • 部署 - 在构建环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。

有关详细信息,请参阅this

<强>更新

话虽如此,有可能如ThorbjørnRavnAndersen所述在这里回答。

答案 2 :(得分:1)

Maven构建过程在过程中有许多生命周期或点。 compile是构建步骤之一,但很可能运行以下内容可以解决您的问题:

mvn clean package

这会在您运行它的文件夹中生成一个JAR文件。然后,您可以尝试使用java运行此JAR文件。