![](/img/trans.png)
[英]Is there a way to load multiple application properties files in Apache Wicket?
[英]Apache Wicket 7 - Application properties
對Wicket來說還很陌生,所以請原諒我的無知。
我有一個Wicket應用程序...從WicketApplication.class
開始我有一個WicketApplication.properties
文件來加載一些值。 屬性文件位於類文件(相同的軟件包)旁邊。 工作正常,沒有問題。
現在,我想將屬性文件移到應用程序WAR / JAR之外。 將應用程序導出為可在Tomcat上運行的WAR。 我在tomcat根目錄下創建了一個名為properties
文件夾,並將WicketApplication.properties移至該目錄。 在WicketApplication.class的init()方法中添加了以下內容...
String realPath = getServletContext().getRealPath("/");
realPath = realPath.replaceAll("\\\\", "/");
if (realPath.toUpperCase().indexOf("WEBAPPS") != -1) {
String newRes = realPath.substring(0, realPath.toUpperCase().indexOf("WEBAPPS") -1);
System.out.println (newRes + "/properties");
getResourceSettings().getResourceFinders().add(new Path( newRes + "/properties"));
}
我拋出異常。
如何“外部化”屬性文件?
另外,如果可以更進一步,我如何將屬性文件名映射到類名..it, myapplication.properties -> WicketApplication.class
提前致謝。
您需要使用application.getResourceSettings().getStringResourceLoaders().add(...)
添加新的IStringResourceLoader。 請參閱https://github.com/apache/wicket/blob/515e2be2a5301f5caf7b1baee4a593d21c20e275/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java#L220-L224 。
當您要為HTML文件添加自定義位置時,應使用IResourceFinder
。
無法將myapplication.properties
映射到WicketApplication.class
。 通過添加一個額外的IStringResourceLoader,您只需告訴Wicket在另一個地方搜索即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.