2016-01-12 129 views
0

我想打包一個Java應用程序,以便它可以從批處理文件運行,我在目錄中使用JRE,我的當前批處理文件(run.bat)如下所示:從批處理文件運行編譯的Java類

.\program\jre8\bin\java.exe -cp ..\ mainUI 
pause 

我的文件結構如下:

Folder 
    /program 
     /jre8 
      ...JRE in here... 
     mainUI.class 
     ...Other Classes in Here... 
    run.bat 

當這個運行時,它說,它無法找到mainUI類,任何人都可以幫助診斷呢?

感謝, 哈里斯米爾扎

回答

0

你的類路徑是不是在「../」,但在「./program」,按照給定的目錄結構。嘗試.\program\jre8\bin\java.exe -cp ./program/* mainUI

+0

感謝您的回答,但仍似乎給了同樣的錯誤。 – olafgarten

+0

如果你在程序目錄下cd並在命令行上嘗試'java mainUI',那麼會發生什麼? - 如果這能起作用,那麼你在上面的帖子中對目錄結構的描述很可能是錯誤的。 –

+0

這也行不通,運行類時是否需要使用包名? – olafgarten

0

您的類路徑相對於您的工作目錄(雙擊它時是批處理文件所在的目錄)。您應該將其更改爲java -cp program mainUI,因爲您的run.bat似乎位於程序文件夾之上。

當您使用包,請嘗試

F454/mainUI.java

package F454; 

public class mainUI { 
    public static void main(String[] args) { 
     System.out.println("Hello World"); 
    } 
} 

的run.bat

jre\bin\java.exe -cp . F454.mainUI 
pause 

這種結構

/program 
    /jre 
    /F454 
     mainUI.class 
    run.bat 
+0

不幸的是,這並沒有奏效,但它仍然表示無法找到該課程。 – olafgarten

0

感謝所有幫助,我現在已經解決了親blem。 我的批處理文件看起來像這樣:

cd ./program/F454FinalProject 
..\jre8\bin\java.exe F454.mainUI 
pause 

我的文件結構是這樣的:

Folder 
    /program 
     /jre8 
      ...JRE in here... 
     /F454FinalProject 
      /F454 
       mainUI.class 
       ...Other Classes are here... 
    run.bat