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

时间:2017-07-09 23:22:52

标签: java jar

根据其他问题的建议,我一直试图解决这个问题几个小时,但仍未取得任何进展。也许还有我忽略的东西。

以下是这种情况: 我用gradle构建

的build.gradle

(##/##/####)

Driver.java

{
...
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
  { ... }

MANIFEST.MF

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

当我运行./gradlew build时,它似乎成功构建并输出到构建> libs> KNN-扑克手0.1.0.jar

现在,当我运行Manifest-Version: 1.0 Main-Class: mr.Driver <NEWLINE> <NEWLINE> 时,我得到java -jar knn-poker-hand-0.1.0.jar

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

我不确定还能做什么并继续陷入死胡同:(

1 个答案:

答案 0 :(得分:1)

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