我需要在我的eclipse项目中获取某个图像(add.png)文件的相对路径。 已附上打印屏幕。
我的java类路径是src / main / java / com / abc / controller / myClass.java
答案 0 :(得分:1)
尝试使用classloader对象。
$('.btn-site').on('click',function() {
$( ".menus" ).slideToggle( "slow", function() {
if($('span').hasClass('arrw_down')){
$('span').removeClass('arrw_down');
}else{
$('span').addClass('arrw_down');
}
});
});
这将允许您访问类路径上的文件。查看返回ClassLoader loader = Thread.currentThread().getContextClassLoader();
的{{1}}方法。
我在你的截图中注意到eclipse没有分类" src / main / webapp"在" Java资源"。我认为这意味着eclipse并没有将这个webapp文件夹放在你的类路径中。您可能需要配置eclipse构建路径。简而言之,右键单击项目,单击属性,单击"构建路径"在左侧,选择"来源"选项卡,然后添加" src / main / webapp"。
答案 1 :(得分:0)
这取决于你日食中的classpath条目。因为它似乎是一个maven项目,所以很可能你的webapp目录应该是classpath的一部分。如果是这种情况,那么文件的相对URL将从目录图像开始,如下所示:
images/add.png
答案 2 :(得分:0)
相对路径从/
开始。
如果您正在访问JSP文件中的图像,那么您可以尝试使用核心标记库。
例如:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:url value="/images/add.png"/>
如果要访问服务器端的映像文件,请将文件放在直接进入类路径的resources
文件夹下。
您可以尝试使用Spring ClassPathResource
来读取直接存储在resources
文件夹下的类路径中的资源。
例如:
try (InputStream in = new ClassPathResource("/images/add.png").getInputStream())
{
...
}
catch (IOException e)
{
....
}