簡體   English   中英

為什么在我嘗試執行jar時出現“無法訪問jarfile”錯誤?

[英]Why I obtain this “Unable to access jarfile” error when I try to execute my jar?

我在嘗試將jar文件(從我的項目創建)執行到Windows Shell(DOS提示符)時遇到以下問題。

我有一個名為Main.jar的文件。 如果我解壓縮此文件,則它將包含一個mainPkg文件夾(這是包含Main類的包的名稱,而Main類本身包含main()方法)。

因此,在mainPkg文件夾中有包含main()方法的Main.class文件。

好的,從外殼程序進入包含Main.jar的目錄,然后執行:

C:\Projects\edi-sta\build\jar>java -jar mainPkg.Main.jar
Error: Unable to access jarfile mainPkg.Main.jar

但是如您所見,我獲得了無法訪問jarfile mainPkg.Main.jar的信息 為什么? 我想念什么? 如何解決此問題並執行Main.jar文件?

在jar中執行包含主方法的類的語法為:

java -classpath <jarFile> <class>

在您的情況下:

java -classpath Main.jar mainPkg.Main

如果要使用java -jar執行jar,則必須創建一個可執行的jar文件。 根據您使用的構建工具,可以通過不同的方式完成此操作。

基本上,您有兩種類型的JAR

  • 普通JAR-將您的課程打包到一個存檔中
  • Runnable JAR-這類似於Normal jar,除了可以使用java -jar RunnableMain.jar類的java -jar命令運行它。 在這一步中,我們已經配置了具有main()的類,因此無需在jar命令中傳遞類名

假設你是一個正常的JAR,你可以執行你的類的這樣的利益

C:\Users\arkantos\work>java -classpath C:\Project\Main.jar mainPkg.Main

請注意,我已經提到的JAR文件的絕對路徑,將其添加到類路徑,因為我在不同的目錄林,如果沒有可以cd到包含您認為DIR Main.jar ,然后調用主類這樣

C:\Project>java -classpath Main.jar mainPkg.Main

Main.jar在Project目錄中,因此無需給出絕對路徑

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM