weixin_42313540 2009-06-11 14:43
浏览 1470
已采纳

spring的ClassPathResource怎么知道具体的classpath指向的路径的

如题,我的开发环境是windows的一个web应用,但是是在一个main方法中直接加载配置文件

具体代码片段:
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:study/event/applicationContext-event.xml");

spring怎么知道classpath是哪个路径?

看了下ClassPathResource的源代码,在它的方法:
public InputStream getInputStream() throws IOException {
InputStream is = null;
if (this.clazz != null) {
is = this.clazz.getResourceAsStream(this.path);
}
else {
is = this.classLoader.getResourceAsStream(this.path);
}
if (is == null) {
throw new FileNotFoundException(
getDescription() + " cannot be opened because it does not exist");
}
return is;
}

里,程序运行到这里的时候this.path显示的是:study/event/applicationContext-event.xml,所以不知道spring是怎么知道去正确的路径查找资源(study/event/applicationContext-event.xml)的

[b]问题补充:[/b]
我很想知道spring是怎么知道classpath是哪个的?也就是说它是在什么地方确定了classpath目录的路径的?
[b]问题补充:[/b]
但是我系统都没有定义那个classpath。
[b]问题补充:[/b]
java.class.path这个系统属性是什么时候定义的呢?因为我自己是没定义的,所以我认为是不是:

1 如果是在IDE里面跑java程序,那么又IDE定义这个变量

2 如果是在服务器里面运行java程序,那么由服务器定义

是这样的吗?

  • 写回答

6条回答 默认 最新

  • ywbanm 2009-06-11 17:47
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码