Java 項目裏 classpath 具體指那個路徑?

只知道把配置文件如:mybatis.xml、spring-web.xml、applicationContext.xml等放到src目錄(就是存放代碼.java文件的目錄),然後使用“classpath:xxx.xml”來讀取,都放到src目錄準沒錯,那麼到底classpath到底指的什麼位置呢?

src路徑下的文件在編譯後會放到WEB-INF/classes路徑下吧。默認的classpath是在這裏。直接放到WEB-INF下的話,是不在classpath下的。用ClassPathXmlApplicationContext當然獲取不到。
如果單元測試的話,可以在啓動或者運行的選項裏指定classpath的路徑的。
用maven構建項目時候resources目錄就是默認的classpath
classPath即爲java文件編譯之後的class文件的編譯目錄一般爲web-inf/classes,src下的xml在編譯時也會複製到classPath下
ApplicationContext ctx = new ClassPathXmlApplicationContext("xxxx.xml");  //讀取classPath下的spring.xml配置文件
ApplicationContext ctx = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/xxxx.xml");   //讀取WEB-INF 下的spring.xml文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章