maven项目中无法通过getClassLoader()获得所在包里面的文件流的解决方法
2015-01-03 00:02
323 查看
今天遇到了一个问题,在纯Java项目中
可是在maven项目中,输入流却是为null的。这个问题百思不得其解。
不要getClassLoader()这个方法,就是在项目编译后的文件夹里面寻找文件,所以在maven项目中可以改为:
为了能自动加入到class环境中,在Spring配置文件中加入:
不能自动加载!重新点击maven面板中的“install”。文件就会加载到class环境中了,再次运行,就不会出错了!
可是install的时候,会提示测试文件出错了。我的测试文件是mongodb和Spring的结合,以前测试都能插入数据,没什么问题,单独再测试,还是有问题。
配置文件读取不进去,提示${db.host}出错。最后把测试文件都注释了,再“install”,恢复测试文件,再次测试,又成功了!
看来这其中还是有点奥妙的。先前我有加载过一个mongodb2.properties文件,内容和mongodb.properties一模一样的,难道是有冲突,连直接删除都不能解决问题。
还要再“install”刷新才可以。又或者是配置文件加载的顺序问题,不过这个可能性比较低。看来只能把刚刚自己做的乱七八糟的步骤再重演一遍才能找到问题所在。当我复制多一个mongodb2.properties文件后,再重新测试一遍,居然还是测试通过!看来问题可能不是这个,留到明天再看看吧!
InputStream is = this.getClass().getClassLoader().getResourceAsStream("stopword.dic");stopword.dic这个文件放在所在类的包中,能获取这个输入流。
可是在maven项目中,输入流却是为null的。这个问题百思不得其解。
不要getClassLoader()这个方法,就是在项目编译后的文件夹里面寻找文件,所以在maven项目中可以改为:
InputStream is = this.getClass().getResourceAsStream("/conf/stopword.dic");注意前面要加斜杠“/”,这样还是提示为空!手动把文件放到编译后的项目中,运行,就不为空了,可是手动终究不好。
为了能自动加入到class环境中,在Spring配置文件中加入:
<context:property-placeholder location="classpath:/conf/stopword.dic"/>
不能自动加载!重新点击maven面板中的“install”。文件就会加载到class环境中了,再次运行,就不会出错了!
可是install的时候,会提示测试文件出错了。我的测试文件是mongodb和Spring的结合,以前测试都能插入数据,没什么问题,单独再测试,还是有问题。
配置文件读取不进去,提示${db.host}出错。最后把测试文件都注释了,再“install”,恢复测试文件,再次测试,又成功了!
看来这其中还是有点奥妙的。先前我有加载过一个mongodb2.properties文件,内容和mongodb.properties一模一样的,难道是有冲突,连直接删除都不能解决问题。
还要再“install”刷新才可以。又或者是配置文件加载的顺序问题,不过这个可能性比较低。看来只能把刚刚自己做的乱七八糟的步骤再重演一遍才能找到问题所在。当我复制多一个mongodb2.properties文件后,再重新测试一遍,居然还是测试通过!看来问题可能不是这个,留到明天再看看吧!
相关文章推荐
- 启动maven项目报错:java.lang.ClassNotFoundException: ContextLoaderListener解决方法
- maven项目启动报:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 错误解决方法-杜恩德
- android开发 通过class.getResourceAsStream()方法 获得资源。
- 关于在maven项目下,从一个jsp页面通过重定向跳转到另一个jsp页面时出现404的错误的解决方法
- maven项目,多个依赖,打成一个可执行jar包,可根据profiles进行打包,出现的Could not find or load main class的解决方法。
- Maven项目读取resources下文件的路径问题(getClassLoader的作用)
- idea 开发WEB项目,ContextLoaderListener class not found解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Idea无法导入Maven项目的解决方法
- Maven项目中JSP页面无法得到静态资源的解决方法
- this.getClass().getClassLoader().getResource("")遇到有中文路径的解决方法
- maven 编译mybatis项目时xml文件无法编译到target目录下的解决方法
- maven项目用 run on server 运行报classNotFound错误,lib没有导入到tomcat中,解决方法:
- 新建java项目使用this.classLoader.getResourceAsStream方法导入xml文件时报找不到文件原因
- 解决强制结束maven项目更新后eclipse报错无法打开方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法