2011-06-16 85 views
0

因此,我使用grails.config.locations = [「file:$ {basedir}/web-app/WEB-INF/app加載app.properties文件。屬性「]Grails - 如何在部署WAR文件後加載.properties文件

但是,當我通過創建WAR文件進行部署時,它具有不同的目錄結構,其中app.properties文件位於WEB-INF/app.properties下,並且無法找到該文件。

其中之一,運行WAR文件時未定義$ {basedir},其次,路徑不相同。 我試過改變路徑,也刪除了$ {basedir}等等。有誰知道如何獲得一個屬性文件,它可以在運行Grails時工作,並且在部署爲WAR文件時也能工作?

非常感謝。

回答

0

夫婦的可能的方法:

你可以確保屬性文件是在運行的JVM的類路徑。您可以通過java的添加到類路徑在命令行上-Dclasspath = /路徑/要/屬性/文件:$ CLASSPATH

Properties props = new Properties(); 
    URL url = ClassLoader.getSystemResource(propsName); 
    props.load(url.openStream()); 
    return props; 

你可以在一個環境變量的絕對值指定的位置(System.getenv ( 'FILELOCATION'))