Mor*_*cai 2 java jar reference
我在将java项目导出到jar(来自Eclipse)时遇到了问题.有一个文件,我已经包含在名为jar的jar中images.它包含我的项目使用的所有图像文件.问题是,我对这些图像的引用仅在项目不是 jar形式时才有效.我无法弄清楚为什么,我想知道是否需要更改图像引用的措辞.这是我正在做的参考图像:
URL treeURL = null;
Image tree = null;
File pathToTheTree = new File("images/tree.png");
try {
treeURL = pathToTheTree.toURL();
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
tree = ImageIO.read(treeURL);
} catch(IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
很可能这是一个简单的问题,因为我是编码的初学者.当这些引用都在jar中时,我需要更改以使这些引用有效吗?
这确实很简单:你getResource()在java.lang.Class和中使用各种方法java.lang.ClassLoader.例如,在您的应用中,您可以写
treeURL = getClass().getResource("/images/tree.png");
Run Code Online (Sandbox Code Playgroud)
这将images在jar文件根目录的目录中找到该文件.关于这些getResource()方法的好处是,无论文件是否在jar中,它们都可以工作 - 如果images目录是磁盘上的真实目录,这仍然可以工作(只要父images类是类路径的一部分.)
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |