我有一個maven項目,其中,我正在嘗試執行腳本(用R編寫)。我也把這個腳本文件放在源代碼目錄中。我發現這個腳本完全沒有執行。但是,當我將此腳本移到jar文件外時,它會執行!任何人都可以告訴我爲什麼,並給我一些解決方案,將腳本放入jar中,同時確保其執行?如何從JAR文件執行腳本?
非常感謝!裏面罐子
我有一個maven項目,其中,我正在嘗試執行腳本(用R編寫)。我也把這個腳本文件放在源代碼目錄中。我發現這個腳本完全沒有執行。但是,當我將此腳本移到jar文件外時,它會執行!任何人都可以告訴我爲什麼,並給我一些解決方案,將腳本放入jar中,同時確保其執行?如何從JAR文件執行腳本?
非常感謝!裏面罐子
我會做到以下幾點:
文件不再是一個文件,所以它執行首先需要extract it somewhere,然後從外部提取的文件路徑執行它
你的意思是提取出完整的jar文件或僅腳本文件來執行?你能告訴我如何從jar中提取單個文件嗎? –
只需從jar中提取所需的文件,查看鏈接以獲取更多詳細信息,從答案 –
感謝您的幫助。腳本執行後,我必須刪除提取的文件。似乎它不是很乾淨〜但最重要的是,它的工作原理 –
您需要提取的jar文件中的腳本:
jar -xvf my.jar com/foo/my.script.sh
的類,所以你的意思是從Java程序執行這個命令更好,然後執行第二個命令(解壓文件)?它似乎很簡單,並沒有任何外部庫支持〜 –
到目前爲止的最佳答案。 – carlspring
@carlspring是的,我同意,但最好給步驟2的一點點代碼。我不知道如何創建臨時文件,臨時定位,並在退出時刪除它?謝謝〜 –
@EnsomHodder創建類似這樣的用法:File.createTempFile(「prefix」,「suffix」) –