Нам недавно пришлось настроить один из серверов tomcat с нуля. Версия Tomcat - 8.0.20. Развертывание военного файла, теперь System.getProperty("mode")
возвращает «null», где он должен возвращать PREPROD.System.getProperty («mode») возвращает «null»
Он должен прочитать этот «режим» из файла mode.properties, который находится в каталоге webapps. Две строки, прокомментированные, показывают другую часть кода, которая больше не работает на новом сервере tomcat. Я заменил его кодом, который должен работать.
//String pathOfWebInf = sce.getServletContext().getRealPath("WEB-INF");
//String pathOfLocalhostFile = pathOfWebInf + File.separator + "classes"
// + File.separator;
String pathOfLocalhostFile = this.getClass().getResource("/").getPath();
String mode = System.getProperty("mode");
String fileName = "localhost-oracle.properties." + mode;
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword("xxx");
Properties dbProps = new EncryptableProperties(encryptor);
try
{
InputStream is = new FileInputStream(pathOfLocalhostFile + fileName);
dbProps.load(is);
} catch (Exception e)
{
throw new IOException("Could not read properties file " + pathOfLocalhostFile + fileName);
}
Я хотел бы предложить положить свои свойства в catalina.properties в папке/серверов конф. –
Я решил проблему, обратившись к Tomcat 7, у Tomcat 8 были проблемы, как в http://stackoverflow.com/questions/32197494/why-does-servletcontext-getrealpath-returns-null-on-tomcat-8 – Adder