Java 从应用程序类路径加载配置文件

Java 从应用程序类路径加载配置文件,java,tomcat6,classloader,Java,Tomcat6,Classloader,我正在使用getClass().getResourceAsStream()加载配置文件表单应用程序类路径 当使用ApacheTomcat服务器启动应用程序时,将加载该文件 当我在服务器运行时对配置文件进行一些更改时,它不会接受这些更改 我可能需要在应用程序运行时进行一些更改。 apache tomcat是否有办法在更改配置文件后加载该文件?我假设您正在重新读取该文件,但即使您更改了它,您也肯定看到了相同的内容 现在,每次轮询文件时,我都会打印出内容,这样您就可以看到a)正在轮询文件,b)内容正在

我正在使用
getClass().getResourceAsStream()
加载配置文件表单应用程序类路径

当使用ApacheTomcat服务器启动应用程序时,将加载该文件

当我在服务器运行时对配置文件进行一些更改时,它不会接受这些更改

我可能需要在应用程序运行时进行一些更改。
apache tomcat是否有办法在更改配置文件后加载该文件?

我假设您正在重新读取该文件,但即使您更改了它,您也肯定看到了相同的内容

现在,每次轮询文件时,我都会打印出内容,这样您就可以看到a)正在轮询文件,b)内容正在/正在更改

另一种可能性是,当您构建一个应用程序时,配置文件可能会出现在多个地方,例如,在多个JAR中,或者在您的文件系统中。根据您的类路径,您正在更改的文件可能不是您正在读取的文件。i、 是类路径中的第一个目录


编辑:您可以记录URL,
getClass().getResource(fileName)
,因为这将显示文件从何处加载?

当我构建应用程序时,配置文件位于tomcat\webapps\projName\WEB-INF\classes\config文件中。我确信应用程序采用上述路径的文件形式,但我的问题是,它只加载了一次文件,而不是每次我打电话时都重新读取文件。我尝试了你的建议,得到的结果是文件:/C:/apache-tomcat-7.0.23-64bit/apache-tomcat7.0.23/webapps/proj/WEB-INF/classes/image\u manifest.xml。它与我更改配置文件的路径相同。tomcat可能正在缓存该文件。你能试试新的FileInputStream(getClass().getResource(filename).getPath())吗?