[英]getClass().getResource(“/”) returns null in command line
我正在嘗試在/src/main/resources/file.txt中讀取我的maven項目中的文件。
我正在使用
URL url=this.getClass().getResource("/");
String filePath=url.getPath()+"file.txt";
當通過eclipse運行時,url對象獲取正確的值。
但是,當我打包jar並在命令行中運行它時:
jar -cp myjar.jar SampleTest
它為'url'對象返回null並在下一行中拋出NullPointerException。
我使用文件瀏覽器打開了我的Jar文件並進行了檢查。 它在Jar內的“/”位置有'file.txt'。
我哪里錯了?
jar文件中通常沒有目錄。 因此它將返回null
。
如果要獲取文件,可以直接獲取該資源:
URL fileUrl = getClass().getResource("/file.txt");
...
或者干脆:
InputStream fileInputStream = getClass().getResourceAsStream("/file.txt");
您應該將該文件移動到CLASSPATH中,並按以下方式獲取:
InputStream is = this.getClass().getResourceAsStream("file.txt");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.