當使用Class.getResource()
並提供相當常見的資源名稱(如"license.html"
)時,Java可能會從CLASSPATH中早先列出的另一個JAR文件加載"license.html"
資源,但可能與我的應用程序完全無關。有沒有辦法強制類加載器第一次嘗試從我的類所在的同一JAR文件加載資源,並且只有在找不到時才查看CLASSPATH上的其他JAR文件?從班級自己的JAR文件加載資源
回答
另外,您可以使用JarURLConnection如果你知道在你的文件所在的確切罐子:
jar:<url>!/{entry}
我想我應該能夠找出什麼時候有類文件? – mstrap
@mstrap如果您知道license.html文件所在的確切jar文件,那麼應該可以工作,否則回到原來的位置。 –
'URL urlToClass = obj.getClass()。getProtectionDomain()。getCodeSource()。getLocation();'注意:需要信任/沒有安全管理器,並且對於applet和JWS,即使緩存也會指向服務器。 –
..common資源的名稱,如 「的license.html」」
一個很好的理由給它一個不尋常的路徑,例如根據package
的名字。
E.G. "/com/our/app/license.html"
不太可能與其他任何相沖突license.html
- 1. Android:我可以從我自己的班級獲得資源嗎?
- 2. 一個jar文件如何讀取自己的資源文件?
- 3. 無法加載資源Jar文件
- 4. 在jar外部加載資源文件
- 5. 在JAR文件中加載資源
- 6. 從jar中的資源文件夾加載文件
- 7. 從JAR文件外部加載資源文件
- 8. 從文件加載資源
- 9. 從資源加載文件
- 10. 從Java資源重新加載文本文件的jar
- 11. 從bin文件夾加載班級
- 12. 加載從JAR,外面的classpath資源文件中的IntelliJ
- 13. 畫上自己的班級
- 14. 在運行時從Jar文件加載資源
- 15. 如何從嵌入式JAR文件加載資源
- 16. 從運行jar文件夾中的資源文件夾中加載docx文件
- 17. ruby:自己從一個班級變爲另一個班級
- 18. 從資源加載文本文件
- 19. 從自己的文件資源管理器打開文件
- 20. 無法在jar文件被替換時加載jar文件中的資源
- 21. 從Jar中的資源加載Java加載
- 22. 資源下載JAR
- 23. 如何從jar文件中加載.wav文件,而沒有與jar文件相同的目錄中的資源
- 24. 從加載資源文件夾
- 25. 從資源加載.dic和.aff文件?
- 26. iframe從資源文件加載
- 27. 從資源bean加載文件?
- 28. Qt - 從資源中加載htm文件
- 29. 從android資源文件夾加載PDF
- 30. 從資源文件加載WPF樣式
*'common resource name,like'「license.html」''*給它一個不尋常的路徑的好理由,比如''com/our/app/license.html 「'。 –
您的資源應該以明確的方式命名 - 這意味着如果在另一個「ClassLoader」中存在匹配,應該考慮它。然後你會'getResources()'列出所有這些匹配。 – Romain
+1給Andrew;想想它和軟件包命名一樣。 –