Java 如何运行Maven编译的程序?
我开始通过阅读来学习Maven 在示例中,成功运行Java 如何运行Maven编译的程序?,java,maven,Java,Maven,我开始通过阅读来学习Maven 在示例中,成功运行mvn compile后,如何通过maven运行程序?这一部分似乎从文章中遗漏了 谢谢。通常,maven不用于运行代码。这是一个构建工具,可用于编译、运行单元或集成测试、在本地和远程部署代码等 它基于构建生命周期的思想,而构建生命周期又由一系列构建阶段来定义。例如,默认生命周期有以下阶段: 验证-验证项目是否正确以及所有必要信息是否可用 编译-编译项目的源代码 测试-使用合适的单元测试框架测试编译的源代码。这些测试不应要求打包或部署代码 打包-
mvn compile
后,如何通过maven运行程序?这一部分似乎从文章中遗漏了
谢谢。通常,maven不用于运行代码。这是一个构建工具,可用于编译、运行单元或集成测试、在本地和远程部署代码等 它基于构建生命周期的思想,而构建生命周期又由一系列构建阶段来定义。例如,默认生命周期有以下阶段:
- 验证-验证项目是否正确以及所有必要信息是否可用
- 编译-编译项目的源代码
- 测试-使用合适的单元测试框架测试编译的源代码。这些测试不应要求打包或部署代码
- 打包-将编译后的代码打包成可分发的格式,如JAR
- 验证-对集成测试结果进行任何检查,以确保符合质量标准
- 安装-将包安装到本地存储库中,作为本地其他项目的依赖项使用
- 部署-在构建环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享
话虽如此,正如托比约恩·拉文·安德森(Thorbjørn Ravn Andersen)在这里的回答中提到的那样,这是可能的。一般来说,maven不用于运行代码。这是一个构建工具,可用于编译、运行单元或集成测试、在本地和远程部署代码等 它基于构建生命周期的思想,而构建生命周期又由一系列构建阶段来定义。例如,默认生命周期有以下阶段:
- 验证-验证项目是否正确以及所有必要信息是否可用
- 编译-编译项目的源代码
- 测试-使用合适的单元测试框架测试编译的源代码。这些测试不应要求打包或部署代码
- 打包-将编译后的代码打包成可分发的格式,如JAR
- 验证-对集成测试结果进行任何检查,以确保符合质量标准
- 安装-将包安装到本地存储库中,作为本地其他项目的依赖项使用
- 部署-在构建环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享
话虽如此,正如托尔比约恩·拉文·安德森在这里的回答中所提到的那样,这是可能的。Maven构建过程有许多生命周期或过程中的点<代码>编译是构建步骤之一,但运行以下操作很可能会解决您的问题:
mvn clean package
这将在运行它的文件夹中生成一个JAR文件。然后,您可以尝试使用
java
运行这个JAR文件。Maven构建过程中有许多生命周期或生命点<代码>编译是构建步骤之一,但运行以下操作很可能会解决您的问题:
mvn clean package
这将在运行它的文件夹中生成一个JAR文件。然后,您可以尝试使用
java
运行此JAR文件。您可以使用publicstaticvoidmain(String[]args)
签名调用java程序,并使用当前pom.xml的组合依赖项的类路径
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>
org.codehaus.mojo
详细信息。您可以使用当前pom.xml的组合依赖项的类路径调用Java程序(即使用公共静态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>
org.codehaus.mojo
详细信息。您使用Eclipse吗?mvn测试
应该运行您的测试。您可以尝试mvnjar:jar
。您正在阅读“入门”指南,其他指南包括其他选项@Akshay没有这个例子和链接。你在使用Eclipse吗?mvn测试
应该运行你的测试。您可以尝试mvnjar:jar
。您正在阅读“入门”指南,其他指南包括其他选项@Akshay没有这个例子和链接。难道不是mvn安装
只是将包安装(复制编译后的代码)到本地repo吗?@EugeneSclean安装
确实生成JAR输出,至少在我使用它时是这样。但是生成JAR输出是否意味着运行代码?@EugeneS你读过这个问题吗?OP想知道如何运行我的Maven编译的代码。我的答案是安装,生成一个JAR,然后运行那个JAR。您对此有异议吗?mvn软件包
将按照您的描述执行mvn install
是maven生命周期中的下一步,它将复制存储库所在文件夹中生成的工件(jar、war或任何东西)。mvn install
难道不只是将包安装(复制编译后的代码)到本地repo吗?@EugeneSclean install
会生成jar输出,至少在我使用它的时候是这样。但是生成JAR输出意味着运行代码吗?@EugeneS你读过这个问题吗?OP想知道如何运行我的Maven编译的代码。我的答案是否定的