但是,我們有以下一些特殊要求,
Webapp將部署到tomcat。
格式為.jar的普通Java應用程序將放在/ myapp文件夾下
myappConfig.property文件將放置在/ myapp下
客戶端計算機上的目錄結構
/myapp
/myapp.jar
/assests/myappConfig.property
/tomcat/webapps/myapp.war
基本上, myapp.jar 和 myapp.war 將訪問MySql數據庫連接和db操作的sql db連接值。
從myapp.jar訪問myappConfig.property->運行正常
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"));
任何人都可以幫助/建議如何實施,
從mywebapp訪問myappConfig.property文件,
在myappConfig.property文件中提供的運行時更改中,不需要重新部署myapp.war
感謝您的幫助。
編輯
以下是我們要將項目交付給客戶的步驟。
以下是我的應用目錄
/myapp
/myapp.jar
/assests/myappConfig.property
/tomcat/webapps/myapp.war
使用某種包裝工具將所有物品打包在一個包裝中。
在客戶端計算機上的任何位置運行此軟件包,它將具有與上述相同的目錄結構
在這里,我不想將webapp或tomcat中的任何位置硬編碼為“ /assests/myappConfig.property”
普通的Java應用程序,我可以讀取屬性文件,但對于wepapp,我不清楚如何執行此操作?