2017-06-19 123 views
0

加载属性文件时出现错误。 我收到以下错误: java.io.FileNotFoundException:neosEntitelment.properties(系统无法加载属性文件时出错

find the file specified) 
     at java.io.FileInputStream.open0(FileInputStream.java) 
     at java.io.FileInputStream.open(FileInputStream.java:195) 
     at java.io.FileInputStream.<init>(FileInputStream.java:138) 
     at java.io.FileInputStream.<init>(FileInputStream.java:93) 
     at noes.Entitelment.CreateProperties.<init>(CreateProperties.java:45) 
     at noes.Entitelment.NeosDatabase.oracleJdbcConnection(NeosDatabase.java:68) 
     at noes.Entitelment.NeosDatabase.getDataByDB(NeosDatabase.java:20) 
     at noes.Entitelment.SoapWebService.getEntitelmentDetails(SoapWebService.java:254) 
     at noes.Entitelment.Entitelment.doGet(Entitelment.java:27) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) 
     at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:110) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 

项目结构是:

Project 
    -src 
    -neosEntitelment.properties 

这里是我的代码

Properties prop = new Properties(); 
prop.load(new FileInputStream("neosEntitelment.properties")); 
setNeoJdbcConnectionUrl(prop.getProperty("neo.jdbc.connection.url")); 
setNeoUserName(prop.getProperty("neo.db.userName")); 
setNeoPassword(prop.getProperty("neo.db.password")); 
+0

你是否在eclipse或任何其他IDE或通过命令行运行这个? – anacron

+1

尝试将其放在引号中。 '新的FileInputStream(“neosEntitelment.properties”));' – kism3t

+0

@Anacron-是的,我在java上运行这个Eclipse 1.8 –

回答

0

我建议你使用“getClass.getResourceAsStream('/ neosEntitelment.properties')”

+0

感谢您的帮助,我刚刚使用 - --- prop.load(新的Fi leInputStream(new File(getClass()。getResource(“/ neosEntitelment.properties”).toURI()))); -----和我的问题得到解决。 –

+0

你可以建议,它也会工作,当我做这个罐子,并把属性文件之外的项目? –

+0

为什么要创建一个新的File和FileInputStream? getResourceAsStream()已经返回一个流。另外,是的,只要在编译时包含文件,它就会在jar中打包。 –

-2

将文件“neosEntitelment.properties”放入“src”目录。

+0

缺少引号是不是该例外的原因.... –

+0

通过将文件“neosEntitelment.properties”放入“src”目录中得不到解决方案 –