111*_*01b 5 java resources tomcat maven-2 web-applications
我正在尝试加载二进制映像文件以在我的服务器端Java代码中进行一些处理.我目前将我的图像放在我执行类存在的包中并调用:
Image img = Image.getInstance(this.getClass().getResource("logo.png"));
Run Code Online (Sandbox Code Playgroud)
当我在爆炸战争设置中在我的开发盒上运行Tomcat时,这很好用,但当我部署到运行Tomcat的服务器时,它不会爆炸war文件,对getResource的调用返回null.
我也尝试将图像移动到我的上下文根并像这样访问它:
Image img = Image.getInstance(this.getClass().getResource("/../../logo.png"));
Run Code Online (Sandbox Code Playgroud)
同样,这适用于我的开发盒,但不是在我将其部署到其他地方时.
有没有更好的方法来访问此文件?我究竟做错了什么?
谢谢!!
如果您使用Maven构建,则需要确保将图像实际放入存档中.
将资源放在您的src/main/resources目录中.然后访问它们:
this.getClass().getResource("/logo.png");
Run Code Online (Sandbox Code Playgroud)
要么:
Thread.currentThread().getContextClassLoader().getResource("logo.png");
Run Code Online (Sandbox Code Playgroud)
(上面评论的代码示例,但是在答案中更加明显)
| 归档时间: |
|
| 查看次数: |
6373 次 |
| 最近记录: |