主类执行Maven或Java命令

时间:2019-01-30 15:54:33

标签: java maven-2

我有一个简单的Java主类,可以在服务器上使用以下命令执行它 java com ..... MainClass

现在,我们正在尝试在应用程序中使用Maven。

我在网上看到执行Java程序的maven命令是 mvn exec:java -Dexec.mainClass = com ...... MainClass

我仍然可以使用常规的java命令还是必须使用maven命令exec:java?

我不清楚何时使用maven exec:java命令。

请帮助我了解何时使用常规Java命令以及何时使用maven exec:java命令。 当我使用Maven时,仍然可以使用常规的Java命令执行程序。

2 个答案:

答案 0 :(得分:1)

Maven

根据https://maven.apache.org/what-is-maven.html Maven的目标是

  • 使构建过程变得容易
  • 提供统一的构建系统
  • 提供优质的项目信息
  • 提供最佳实践开发指南
  • 允许透明迁移到新功能

因此,您应该使用Maven来构建项目……就像building a JAR package with main class

运行JAR打包的主类

有关运行JAR打包的Java类的信息,请参见this answerthis Oracle's tutorial

您也可以use Maven for running the main class,但您不应该使生产环境依赖于Maven。

答案 1 :(得分:1)

maven主要是依赖项管理和构建工具。

您仍然可以使用Java命令从项目目标文件夹下的maven生成的jar中运行您的主类。

java -cp“ yourProject / target / folder- contains-dependenc-jars-if-exist / *:yourProject / target / thejar.jar” package.mainClass

ps:在Linux系统上使用“:”分隔符,如果您在Windows下,请使用“;”