繁体   English   中英

运行用gradle构建的jar时找不到或加载主类

[英]Could not find or load main class when running jar built with gradle

在尝试其他问题的建议后,我已经尝试解决了几个小时,但仍未取得任何进展。 也许我忽略了某些事情。

这是情况:我正在用gradle构建

build.gradle

{
...
jar {
    baseName = 'knn-poker-hand'
    version =  '0.1.0'
    manifest {
        attributes 'Main-Class': 'mr.Driver'
    }
...
}

驱动程序

package mr;
import ...
public class Driver
{
  public Driver() {}

  public static void main(String[] args) throws Exception
  { ... }

项目结构

knn-poker
|-src
| |-mr
| | |-Driver.java
| | |-Map.java
| | |-Reduce.java
|-gradle
|-build.gradle
|-gradlew
|-gradlew.bat

清单文件

Manifest-Version: 1.0
Main-Class: mr.Driver
<NEWLINE>
<NEWLINE>

当我运行./gradlew build时,它似乎可以成功构建,并输出到build> libs> knn-poker-hand-0.1.0.jar

现在,当我运行java -jar knn-poker-hand-0.1.0.jar ,出现Error: Could not find or load main class mr.Driver

我确保我的项目使用正确的jdk(jdk.1.8.0_121),并在路径上将其设置为系统变量(windows),如C:\\ Program Files \\ Java \\ jdk1.8.0_121。

我不知道该怎么办,并继续陷入僵局:(

看起来我是个假人,我没有在src / main / java中使用包结构,这似乎是问题所在。 现在正在工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM