问题
最近遇到一个问题,需要复制项目classpath:template 路径下的一个文件到服务器另外一个路径下。
File f = new File(this.getClass().getResource("/").getPath()); String path = f.getPath() + File.separator+"template"+ File.separator;
classpath:template 路径的获取方式试了很多种,像上面这种只是在Tomcat下运行良好,但是到Jboss上始终获取不到这个路径。
解决方案
经过一番苦战,终于找到了解决方案,测试代码如下:
@Autowired
WebApplicationContext webApplicationContext;
@ResponseBody
@RequestMapping(value = "/test2.do",method = RequestMethod.GET)
public AppResponse test2(){
String baseFolder=null;
try {
baseFolder=webApplicationContext.getResource("classpath:template").getFile().getPath();
} catch (IOException e) {
e.printStackTrace();
}
appResponse.setResultCode(200);
appResponse.setResultMessage("下载成功");
appResponse.setBusinessData(baseFolder);
return appResponse;
}