当您在Eclipse中配置服务器以使用本地Tomcat安装(服务器视图)时,是否有人知道在Eclipse内部运行的Tomcat是否真正使用<tomcat>\bin\
目录?
例如:我正在使用同事jar,后来需要 X.properties 文件。我已被指示将该属性文件放在<tomcat>\bin\
目录中。这对我来说有点奇怪,但失败的路线就是:
InputStream in = new FileInputStream("X.properties");
无论如何,我很确定editing any of the Server config文件对我没用,虽然我对任何建议持开放态度。或者我的启动配置(下面)中有什么东西可以改变?
无论如何,我得到以下堆栈跟踪:
java.io.FileNotFoundException: X.properties (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at com.mycompany.myteam.colleaguesproject.colleaguesservlet.init(colleaguesservlet.java:93)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
非常感谢任何帮助! : - )
答案 0 :(得分:1)
Java将您启动它的目录指定为“工作目录”,并且任何相对路径都相对于该目录。在这种情况下,这是Tomcat的bin目录,其中包含Tomcat的启动脚本。
您应该将属性文件放在C:\ apache-tomcat-5.5.25 \ bin中以使其工作,尽管这对于java属性文件来说不是一个好习惯。在Java的类路径中读取它们是标准的,并且更加灵活。
答案 1 :(得分:1)
我完全同意mblinn!
Eclipse创建一个tomcat服务器的本地实例,其中eclipse.exe是Main应用程序。
尝试将您的X.properties文件放在eclipse根文件夹中。