2011-06-16 82 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'))