首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何扩展用于'grails run-app‘的类路径?

如何扩展用于'grails run-app‘的类路径?
EN

Stack Overflow用户
提问于 2011-03-05 23:19:15
回答 4查看 10.2K关注 0票数 13

我的Config.groovy文件中包含以下内容:

代码语言:javascript
复制
grails.config.locations = [ "classpath:env.groovy" ]

现在,我到底应该把"env.groovy“放在哪里,这样它才能在grails run-app期间在CLASSPATH上可用?这里的文档非常缺乏。

我可以通过在$APP_HOME/etc中放置"env.groovy“,然后运行:

代码语言:javascript
复制
$ grails -classpath ./etc run-app

这看起来有点老土,但我可以接受...但是,当我使用Grails eclipse插件(STS)启动run-app时,我无法获得任何这样的配置:

代码语言:javascript
复制
Unable to load specified config location classpath:env.groovy : class path resource [env.groovy] cannot be opened because it does not exist

我已经看过herehereherehere的相关帖子,但答案并不令人满意。

我正在寻找一个基于CLASSPATH的解决方案,将与‘运行应用程序’在开发模式(命令行和从eclipse)。我知道如何为我的部署servlet容器设置CLASSPATH,所以这不是问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-08 08:47:29

Eric,我们这样做的方式是指定一个带有配置文件位置的Java system属性,然后我们在Config.groovy上获取该属性,类似于:

代码语言:javascript
复制
if (System.properties["application.config.location"]) {
  grails.config.locations = [
          "file:" + System.properties["application.config.location"] + "${appName}-config.groovy"
  ]
}

正如您所看到的,我们只设置了Java system属性中的文件所在的文件夹,并且按照约定,文件名应该是应用程序名+ "-config.groovy",但如果需要,您可以指定整个路径,包括系统属性中的文件名。

然后,在运行应用程序时,只需像这样设置变量:

代码语言:javascript
复制
grails -Dapplication.config.location=/Users/eric/ run-app

正如你在代码中看到的,有一个if语句,它阻止你在没有定义Java系统属性变量的情况下查找配置文件,这样你就可以不使用外部配置文件而只使用Config.groovy中定义的配置设置来运行你的应用程序。

如果您在Eclipse或IntelliJ中运行您的应用程序,则需要将此变量作为JVM变量传递。

这是一个不同的选择,不必更改类路径或在类路径中包含配置文件,以便应用程序拾取它。

票数 6
EN

Stack Overflow用户

发布于 2012-02-20 20:58:28

我们可以在_Events.groovy中添加一个编译后事件,将外部配置文件复制到类路径中,如下所示:

代码语言:javascript
复制
eventCompileEnd = {
ant.copy(todir:classesDirPath) {
  fileset(file:"${basedir}/grails-app/conf/override.properties")
}}

您可以在here找到更多详细信息

票数 3
EN

Stack Overflow用户

发布于 2011-03-06 01:34:06

项目主页中应该有一个名为.classpath的文件。

我不确定,但你看一下那个文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5204675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档