在Stackoverflow中已经多次询问过这个问题,但那里提供的解决方案在我的案例中没有用。
我们使用JVM-10上的ant脚本创建war文件,win-64位并将文件保存在Tomcat-9的webapps文件夹中。我们正在尝试从外部属性文件加载资源包。为此我们有2个属性文件,我们保留在C:\ Program Files \ Ticket App \ internalproperties和C:\ Program Files \ Ticket App \ externalproperties文件夹中。
我们已经尝试在setclasspath.bat中设置类路径:
set CLASSPATH=C:\Program Files\Ticket App\internalproperties;C:\Program Files\Ticket App\externalproperties;%JAVA_HOME%\lib\tools.jar;
它没用。我们还尝试在setenv.bat中保留以下代码
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;C:\Program Files\Ticket App\internalproperties;C:\Program Files\Ticket App\externalproperties;%JAVA_HOME%\lib\tools.jar;
两次Tomcat都试图从目录C:\ apache-tomcat-9.0.12-windows-x64 \ apache-tomcat-9.0.12 \ bin中选择文件。
如果你能帮助我们,这将是非常有帮助的。提前致谢。
对于Linux上的Tomcat 9.0.14,它适用于我。
在Tomcat的setenv.sh中,我有这行导出CLASSPATH = / opt / abc / conf
以下java程序可以正常运行,abc.properties位于/ opt / abc / conf下
Properties prop = new Properties();
InputStream input = null;
try{
input =prop.getClass().getResourceAsStream("/abc.properties");
prop.load(input);
System.out.println(prop.getProperty("change.monitor.interval"));
}
catch(Exception ex)
{
ex.printStackTrace();
}
Windows中的行为也应该相同。