执行“时,如何将Java系统属性传递给JVM?”;运行应用程序“;在Grails2.3.1中

执行“时,如何将Java系统属性传递给JVM?”;运行应用程序“;在Grails2.3.1中,grails,jvm-arguments,grails-2.3,Grails,Jvm Arguments,Grails 2.3,在Grails2.3.1中执行“RunApp”时,如何将Java系统属性传递给JVM?运行“grailsw run app”时,启动两个JVM。Grails控制台和运行我的Grails应用程序的tomcat容器。我已经尝试在grailstarget命令之间和前面添加它们。我觉得我需要修改脚本 50164062209:39AM ttys000 1:20.20/Library/Java/Home/bin/Java-server-Xmx768M-Xms64M-XX:PermSize=32m-XX:Ma

在Grails2.3.1中执行“RunApp”时,如何将Java系统属性传递给JVM?运行“grailsw run app”时,启动两个JVM。Grails控制台和运行我的Grails应用程序的tomcat容器。我已经尝试在grailstarget命令之间和前面添加它们。我觉得我需要修改脚本

50164062209:39AM ttys000 1:20.20/Library/Java/Home/bin/Java-server-Xmx768M-Xms64M-XX:PermSize=32m-XX:MaxPermSize=256m-Dfile.encoding=UTF-8--conf/Users/hbrien/Software/grails-2.3.1/conf/groovy-starter.conf——类路径运行应用程序


501 661 640 0 0 9:40AM ttys000 1:50.24/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java-Xmx1024M-Xms1024M-XX:MaxPermSize=256m-Dgrails.fork.active=true-Dgrails.build.execution.context=/private/var/folder-djjjdk.reflect.allowGetCallerClass=true-Dspringloaded=grails;cacheDir=/Users/hbrien/.grails/2.3.1 org.grails.plugins.tomcat.fork.ForkedTomcatServer

我在Eclipse/GGTS中的调试中发现了类似的问题。在BuildConfig中运行没有任何
grails.project.fork
配置的项目不会fork,但是调试总是fork-Tomcat

我认为这是这个问题的副作用:

奇怪的是,这个问题被标记为未解决,但pull请求被合并,并且它位于实际的代码库中。我想将一些属性传递给forked Tomcat进程,结果在
BuildConfig.groovy
中得到了这段难看的代码:

if (!System.getProperty('grails.fork.active')) {

    def forkedJvmArgs = System.getProperties()
        .findAll { it.key.startsWith('PARAM') }
            .collect { new String("-D${it.key}=${it.value}") }

    println "Passing properties to forked process: $forkedJvmArgs"

    grails.project.fork = [run: [jvmArgs: forkedJvmArgs]]
}

您是否尝试过使用JAVA_OPTS变量?就像在
JAVA_OPTS=“-Xmx1024M-Xms1024M”grailsw运行应用程序中一样
您在BuildConfig中尝试过
grails.project.fork
吗?为了解决这个问题,我刚刚从BuildConfig.groovy中删除了//grails.project.fork=[我知道有办法将这些变量传递给“forked”进程,但我还没有弄明白。