Чтение файла общего внешнего свойства в Java Webapp и Java нормальном приложении
Я знаю, что на этот вопрос много раз отвечали самые полезные ответы, как показано ниже,
Где разместить и как прочитать файлы ресурсов конфигурации в приложении на основе сервлетов?
Тем не менее, у нас есть некоторые специальные требования, как показано ниже,
Веб-приложение будет развернуто в Tomcat.Обычное Java-приложение в форме .jar будет помещено в папку / myapp.Файл myappConfig.property будет помещен в / myappСтруктура каталогов на клиентском компьютере
/myapp
/myapp.jar
/assests/myappConfig.property
/tomcat/webapps/myapp.war
В принципеMyApp.jar а такжеmyapp.war получит доступ к значениям соединения sql db для соединения с базой данных MySql и операций с базами данных.
Доступ к myappConfig.property из myapp.jar -> Работает нормально
File jarPath = new File(Myapp.class.getProtectionDomain().getCodeSource().getLocation().getPath());
String propertiesPath = jarPath.getParent();
System.out.println(" propertiesPath-" + propertiesPath);
mainProperties.load(new FileInputStream(propertiesPath + "\\assets\\myapp.property"));
Может ли кто-нибудь помочь / предложить, как реализовать,
Доступ к файлу myappConfig.property из mywebapp,
при условии изменения времени выполнения в файле myappConfig.property не требуется повторное развертывание myapp.war
Заранее благодарны за Вашу помощь.
редактировать
Ниже приведены шаги, с помощью которых мы хотим доставить проект клиенту.
Ниже каталог моего приложения
/myapp
/myapp.jar
/assests/myappConfig.property
/tomcat/webapps/myapp.war
упакуйте все в одну упаковку с помощью какого-нибудь упаковочного инструмента.
Запустите этот пакет на клиентском компьютере в любом месте, и он будет иметь ту же структуру каталогов, что и выше.
Здесь я не хочу жестко кодировать любое место в webapp или tomcat для "/assests/myappConfig.property"
Обычное Java-приложение. Я могу прочитать файл свойств, но для wepapp у меня нет четкого представления о том, как это сделать?