[英]Running a jar File from Java without Absolute Path
我有一個使用Netbeans創建的Calculator.jar文件。
我想使用Java代碼運行該jar文件。 在查看了stackoverflow和一些文檔站點之后,我嘗試了以下方法:
public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar C:\\pathToJar\\Calculator.jar);
pr.waitFor();
}
代碼運行良好,但是我的問題來自文件的路徑。 如果我在沒有絕對路徑的情況下運行該程序,則該程序將運行並完成,但是我永遠不會看到計算器GUI彈出。 當我使用絕對路徑運行時,GUI會按預期方式彈出。
我將jar文件與源代碼放在同一位置。 我認為這樣做可以讓我只需要在沒有絕對路徑的情況下放置Calculator.jar。 但這似乎不起作用。
有誰知道我怎么可能存儲jar文件,所以我不需要使用絕對路徑?
編輯:我還嘗試在名為jarFiles的項目中創建一個單獨的包,並嘗試了路徑jarFiles\\Calculator.jar
。 那也不起作用。 我認為我對默認路徑/調用命令時cmd默認使用的路徑有誤解。 我不確定。
預先感謝您的任何建議!
我相信您遇到的問題是,當您嘗試
public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar \\Calculator.jar");
pr.waitFor();
}
它查看計算機的根目錄,並且在末尾遺忘了一個引號。 您應該訪問當前工作目錄的方式是簡單地消除\\\\
,以防萬一,您可能還希望將jar文件路徑括在引號中。
public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar \"Calculator.jar\"");
pr.waitFor();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.