【问题标题】:How to run Maven project using simple java command [duplicate]如何使用简单的 java 命令运行 Maven 项目 [重复]
【发布时间】:2020-11-20 12:31:43
【问题描述】:

我知道我可以使用mvn exec:java ... 来运行我的 Maven 项目。但是因为我想了解更多关于 Java 的知识,所以我尝试使用 java 命令运行我的项目。这是我的项目结构:

pom.xml
src/
    main/java/com/company/prod/
        Obj.java
        Main.java
target/
    classes/com/company/prod/
        Obj.class
        Main.class

我正在尝试通过执行 java -cp target/classes/com/company/prod target/classes/com/company/prod/Main 来运行 Main。但我得到java.lang.ClassNotFoundException: target.classes.com.company.prod.Main

我还尝试将cd 放入target/classes/com/company/prod/ 目录并运行java -cp . Main,但随后我得到了Error: Could not find or load main class Main Caused by: java.lang.NoClassDefFoundError: com/company/prod/Main (wrong name: Main)

为什么这不起作用?

【问题讨论】:

  • 你应该使用java -cp target/classes com.company.prod.Main

标签: java maven


【解决方案1】:

使用这个:

java -cp target/classes com.company.prod.Main

类路径在包目录开始之前结束。

【讨论】:

  • 那行得通,只是现在,它找不到我的 Maven 依赖项。所以我想我需要手动将这些依赖项添加到我的类路径中。
  • 是的。所有依赖项都必须可以通过类路径访问。
【解决方案2】:

在 POM 中提到了 Main 类

<mainClass>src.main.java.org.jis.Main</mainClass>

创建可执行jar文件并运行命令java -jar your_jar_name.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2016-07-29
    • 2021-06-28
    • 2011-04-10
    相关资源
    最近更新 更多