【问题标题】:Main class execution maven or java command主类执行maven或java命令
【发布时间】:2019-06-23 23:12:01
【问题描述】:

我有一个简单的 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 命令执行程序吗?

【问题讨论】:

    标签: java maven-2


    【解决方案1】:

    Maven

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

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

    因此,您应该使用 Maven 来构建您的项目...例如 building a JAR package with main class。

    运行JAR打包的主类

    请参阅 this answer 或 this Oracle's tutorial 以了解运行 JAR 打包的 Java 类。

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

    【讨论】:

      【解决方案2】:

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

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

      java -cp "yourProject/target/folder-containing-dependenc-jars-if-exist/*:yourProject/target/thejar.jar" package.mainClass

      ps:linux系统使用“:”分隔符,windows使用“;”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-30
        • 2012-11-02
        • 1970-01-01
        相关资源
        最近更新 更多