2017-07-09 101 views
0

我一直試圖解決這個問題幾個小時,現在遵循其他問題的建議,但仍未取得任何進展。也許有一些我可以忽略。運行使用gradle構建的jar時,無法找到或加載主類

這裏的情況: 我與gradle這個建築

的build.gradle

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

Driver.java

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.MF

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

當運行./gradlew構建,它似乎成功建立並且輸出到建立>庫> KNN-撲克手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),並設置路徑上的SY幹部變量(窗口)爲C:\ Program Files \ Java \ jdk1.8.0_121。

我不知道還能做什麼,並保持運行到死角:(

+0

你打開了jar嗎?它在裏面嗎? – efekctive

+0

它看起來像類不在那裏,我想這是由於我沒有使用src/main/java作爲結構? – orangeandgrey

+0

大概吧。移動它們,它可能會工作 – efekctive

回答

1

貌似我是一個假人,我沒有使用帶的src/main/java的包結構,這似乎成爲問題,它現在正在工作

相關問題