[英].jar file not running with arguments
我試圖在Windows上從命令運行.jar文件(名為MC),並且正在使用以下代碼:
java -jar MC.jar
可以正常工作,文件會彈出一個UI,我可以在那里手動更改一些參數。
但是 ,我想運行此.jar文件而不彈出UI,並通過命令行設置參數。 該文件隨附有關如何更改每個參數的說明。 這是一個例子:
java -jar MC.jar bB 0.004
當我嘗試從命令行運行此命令時,出現以下錯誤:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at CellSim.main(CellSim.java:113)
我不知道怎么回事。 我應該提到我不知道如何用Java編寫代碼,所以我沒有看過源代碼(對我來說這毫無意義)。 我只需要重復運行此.jar文件並使用它的輸出(很多.csv文件)。
我還應該提到在Mac和其他Windows機器上已經成功使用了相同的.jar文件,因此這使我認為這是我的PC特有的。
這是我在Windows PC上安裝的:Java版本“ 1.8.0_191” Java(TM)SE運行時環境(內部版本1.8.0_191-b12)Java HotSpot(TM)客戶端VM(內部版本25.191-b12,混合模式,共享)
這是我在Mac上安裝的:Java版本“ 1.8.0_25” Java(TM)SE運行時環境(內部版本1.8.0_25-b17)Java HotSpot(TM)64位服務器VM(內部版本25.25-b02,混合模式) )
請幫忙! 在過去的3個小時中,我一直在互聯網上尋找解決方法。
您可以在此處下載.jar文件
在下面的圖像中,有關可以更改的參數的更多詳細信息。 請注意,我已將文件重命名為MC.jar。 .jar文件的詳細信息 參數的完整列表
有兩種可能的原因/情況:
屬性未傳遞到應用程序中(據我所知,您對此有疑問)
僅當確實正確傳遞參數時,代碼中才會發生一些外部事件
如果罐子創建正確,則傳遞參數的方法是正確的,您可以確定這一點。
為了檢查自己並進行練習(我知道這是一個“學生”問題),您可以在main方法的循環中打印while args數組:
public static void main(String [] args) {
for(String arg : args) {
System.out.println(arg);
}
// now do your logic here
}
您可能會看到正確打印的參數
因此,這可能是第二種情況,您必須調試並檢查發生的情況
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.