導航:首頁 > 文件管理 > 執行jar包找不到靜態文件

執行jar包找不到靜態文件

發布時間:2023-10-17 04:13:51

A. java工程打包部署到linux下根據url找jar包里的文件找不到,請教。

方法不抄對

你看,你第一襲個里沒有jar出現.
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
這相當於在本在磁碟里找文件,而不是jar里.
那這樣,你的第二種方法就不對了.

URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
你是這樣的嗎?
如果這樣,是不對的,這樣只是取得當前運行目錄下的文件.

如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相當於解析壓縮包的方式來找到文件.

B. 生成可運行jar包,老是顯示找不到指定文件

你都生成了JAR文件了,那就意味著相對路徑就是變了

樓主建議你用絕對路徑, 例如 "C:\Users\haha\Desktop\OBJC\0.txt"
這樣就不會有錯了。。。

有些編譯器不同就會出錯
出錯就用 "C:\\Users\\haha\\Desktop\\OBJC\\0.txt"

C. 我用eclipse打得jar包怎麼運行時找不到資源文件

如果只是讀取的話解決很簡單,讀取jar文件中的內容是有特定語法的。做個比較
1.普通windows文件系統
file:\D:\MapMole\img\map\map.jpg //你一定要在這個路徑上有文件才能讀寫
2.jar文件中的文件:
jar:file:\D:\MapMole.jar!\img\map\map.jpg
區別一眼就看出來了(2中有jar前綴,並且有'!')。
給你一個獲取輸入流的方法:
URL url=new URL("jar:file:\D:\MapMole.jar!\img\map\map.jpg");
InputStream is=url.openStream();

但我看你的意思是要往jar裡面寫入數據。
我不建議這么做,你最好把上傳的文件放到另一個文件或文件夾中,就像沒有哪個exe文件把上傳的文件放到自己的exe中。我沒這么做過,如果你硬要往裡寫肯定會遇到「文件已在另一個系統中打開」之類的錯誤。
如果你喜歡寫到jar這種壓縮文件中其實不難,jar就是用的zip壓縮,具體內容一查就了解了。
我還是建議你構造一個合理的目錄結構,比如一般的游戲:
./map/*
./data/*
./save/*
./start.jar
這樣不是挺好的嗎

D. 運行jar文件失敗classpath下的資源文件找不到

ApplicationContext act = new (
"classpath:applicationContext.xml"); 這一句話, 你打包完了之後,它在load applicationContext.xml 的時候 路徑變了。
實在找不到對的路徑, 就把那專個配置文屬件拿出來,hard code 寫進去(僅僅 做testing)

E. 工程中引入第三方JAR包後安裝APK時老是提示找不到庫文件

在android的工程根目錄下創建libs文件夾,點擊此文件夾,然後將你的第三方包引入即可。(如果直接粘貼進入不行,請用構建路徑引入)

F. [java]打包成jar之後找不到文件FileNotFoundException

Java在WEB項目中獲取文件路徑 .

jsp中獲得文件路徑servlet中獲得文件路徑java中獲得文件路徑jsp中獲得文件路徑
1、根目錄所對應的絕對路徑:request.getRequestURI();
2、文件的絕對路徑:application.getRealPath(request.getRequestURI())
3、當前web應用的絕對路徑:application.getRealPath("/")
4、取得請求文件的上層目錄:
newFile(application.getRealPath(request.getRequestURI())).getParent()
servlet中獲得文件路徑
1、根目錄所對應的絕對路徑:request.getServletPath()
2、文件的絕對路徑:
request.getSession().getServletContext().getRealPath(request.getRequestURI())
3、當前web應用的絕對路徑:servletConfig.getServletContext().getRealPath("/")
註:ServletContext對象獲得幾種方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
java中獲得文件路徑
1、Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()
2、MyClass.class.getClassLoader().getResource("").toURI().getPath()
3、ClassLoader.getSystemResource("").toURI().getPath()
4、MyClass.class.getResource("").toURI().getPath()
5、MyClass.class.getResource("/").toURI().getPath()
6、newFile("/").getAbsolutePath().toURI().getPath()
7、System.getProperty("user.dir").toURI().getPath()

希望能幫到你

G. JAVA讀取了本地TXT,但是導出JAR並運行時提示系統找不到指定路徑求助

在編寫代碼時使用的是絕對路徑來訪問的這個文件,然而這個文件是在jar包中的,jar包中有自己的一套Url編址:jar:<url>!/{entry})。所以導致運行時無法訪問到文件。
解決辦法就是在構造File對象時使用url來構造,而文件的url獲取使用ClassLoader.
URL fileURL=this.getClass().getResource("0.txt");
File file = new File(fileURL);
FileInputStream fis = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));

閱讀全文

與執行jar包找不到靜態文件相關的資料

熱點內容
中間夾菜單裡面不能顯示壓縮文件 瀏覽:952
如何指導小學生參加編程比賽 瀏覽:275
物業的招標文件有哪些 瀏覽:452
保存游戲文件名非法或只讀 瀏覽:258
js怎麼做圖片時鍾 瀏覽:451
華為應用裡面有了app說明什麼 瀏覽:801
資料庫中xy是什麼意思 瀏覽:893
u盤打不開提示找不到應用程序 瀏覽:609
網站功能介紹怎麼寫 瀏覽:954
word在試圖打開文件時錯誤 瀏覽:108
主板無vga插槽怎麼連接編程器 瀏覽:521
錄視頻文件在哪裡刪除 瀏覽:881
word2013如何插入文件 瀏覽:233
proe教程百度網盤 瀏覽:197
如何控制遠程linux伺服器 瀏覽:740
it教學app有哪些 瀏覽:34
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1
網站上芒果tv的賬號都是什麼 瀏覽:104
帶公式的表格如何刷新數據 瀏覽:81

友情鏈接