运行jar文件失败classpath下的资源文件找不到 130
我弄了一个程序用到了spring配置如下:ApplicationContextact=newClassPathXmlApplicationContext("classpa...
我弄了一个程序用到了spring配置
如下:
ApplicationContext act = new ClassPathXmlApplicationContext(
"classpath:applicationContext.xml");
maven建的项目,目录结构为:
用eclipse的时候可以直接用main方法运行
但是我用eclipse里面的export导出jar包的时候却报了spring加载配置文件失败,find not found exception
jar包结构:
求高手帮忙解答问题。 展开
如下:
ApplicationContext act = new ClassPathXmlApplicationContext(
"classpath:applicationContext.xml");
maven建的项目,目录结构为:
用eclipse的时候可以直接用main方法运行
但是我用eclipse里面的export导出jar包的时候却报了spring加载配置文件失败,find not found exception
jar包结构:
求高手帮忙解答问题。 展开
3个回答
展开全部
我没有用过 spring
classpath:applicationContext.xml 这个配置,
如你图中所示,放在了resources中,那么在工程中是可以运行的?
只是打包到jar 中以后找不到?
提几点猜测
resources中的配置文件,没有找包进去。
ClassPathXmlApplicationContext 这个可能不支持 jar中的使。
不知道有没有支持流的文法,如果有,你可能改成
InputStream stream = this.getClass().getResourceAsStream("/resources/spring.xml");
这样来加载,试一下。
追问
追答
你打包以后
/applicationContext.xml
这个在顶级目录中?
不是
/resources/applicationContext.xml
这样?
你给出的信息中,好象是找不到http://www.sparingframework.org/............
这个命名空间。
展开全部
ApplicationContext act = new ClassPathXmlApplicationContext(
"classpath:applicationContext.xml"); 这一句话, 你打包完了之后,它在load applicationContext.xml 的时候 路径变了。
实在找不到对的路径, 就把那个配置文件拿出来,hard code 写进去(仅仅 做testing)
"classpath:applicationContext.xml"); 这一句话, 你打包完了之后,它在load applicationContext.xml 的时候 路径变了。
实在找不到对的路径, 就把那个配置文件拿出来,hard code 写进去(仅仅 做testing)
追问
没懂什么意思诶。“hard code 写进去(仅仅 做testing)”
我如果把jar包里面的资源文件取出来的话,那么,在加载spring配置的时候又会出现一些解析文件错误,什么spring schema namespace错的
追答
你那个错误 应该是找不到对应的配置文件
把你的配置文件拿出来 放在一个写死的路径下面(c:\\...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-26
展开全部
下面的图片,是编译后的目录结构?
那恐怕
new ClassPathXmlApplicationContext("classpath:resources/applicationContext.xml");
或换成
FileSystemXmlApplicationContext
new FileSystemXmlApplicationContext("resources/applicationContext.xml");
那恐怕
new ClassPathXmlApplicationContext("classpath:resources/applicationContext.xml");
或换成
FileSystemXmlApplicationContext
new FileSystemXmlApplicationContext("resources/applicationContext.xml");
更多追问追答
追答
这些配置文件,不应该放到子目录里面,像现在还报LOG4J也错了。
如果放子目里面,很多的配置都要另外指定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询