2017-06-19 131 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」目錄中得不到解決方案 –