在wildfly8上部署war文件后找不到资源文件

时间:2016-01-09 11:53:04

标签: eclipse java-ee jboss wildfly

我在Eclipse中创建了动态Web项目并将其添加到ear项目中。

图片资源位于src \ resources \

代码使用资源:

@GET
@Path("bank")
@Produces("application/json")
public String getBank(@Context HttpHeaders headers) {
  ClassLoader classLoader = getClass().getClassLoader();
  File file = new File(classLoader.getResource("/resources/alfa.png").getFile());
  String base64 = Utility.getBase64(file);
  return "{\"icon\":\"" + base64 + "\"}";
}

调试时没问题。

当ear部署的代码抛出异常时:      java.io.FileNotFoundException:C:\ apps \ wildfly-8.2.0.Final \ bin \ content \ TimerService.ear \ timer.war \ WEB-INF \ classes \ resources \ alfa.png

所有资源都存在于ear-file中包含的war-file中。

有什么问题?

1 个答案:

答案 0 :(得分:0)

这样它应该可以工作

@GET
@Path("bank")
@Produces("application/json")
public String getBank(@Context final HttpServletRequest request) {
  ClassLoader classLoader = request.getServletContext().getClassLoader();
  File file = new File(classLoader.getResource("/resources/alfa.png").getFile());
  String base64 = Utility.getBase64(file);
  return "{\"icon\":\"" + base64 + "\"}";
}