首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gradle设置系统属性?

如何使用gradle设置系统属性?
EN

Stack Overflow用户
提问于 2013-12-18 05:56:56
回答 4查看 43.7K关注 0票数 22

我想知道是否可以使用Gradle为Java应用程序设置系统属性?

我尝试使用gradle.properties文件并将属性定义为

代码语言:javascript
复制
systemProp.name = my name

但是,当我试图从Java应用程序中获取该属性时,请使用

代码语言:javascript
复制
System.getProperty("name")

该属性未被找到。

build.gradle和gradle.properties位于项目的根文件夹中。

这就是我的build.gradle的样子:

代码语言:javascript
复制
apply plugin: 'war'
apply plugin: 'appengine'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.8.6'
    }
}

appengine {
    httpPort = 8081
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'com.google.inject', name: 'guice', version: '3.0'
    compile group: 'com.google.inject.extensions', name: 'guice-servlet', version: '3.0'
    compile group: 'javax.servlet', name: 'servlet-api', version: '2.5'
    compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '4.2.0.Final'
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.27'
    compile 'com.google.protobuf:protobuf-java:2.5.0'
    compile 'com.google.appengine:appengine-api-1.0-sdk:1.8.6'
    compile 'com.google.template:soy:2012-12-21'
    compile 'org.json:json:20090211'
}

我的build.properties就是这样的:

代码语言:javascript
复制
systemProp.firstName=Marko
systemProp.lastName=Vuksanovic

这是AppEngine应用程序的一部分,我使用以下命令运行它:

代码语言:javascript
复制
gradle appengineRun
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-18 06:15:49

gradle.properties中的系统属性集仅在运行Gradle的JVM中可用。

来自级-应用程序-插件文档:

appengineRun:启动运行项目代码的本地开发服务器。 jvmFlags:要传递给本地开发服务器的JVM标志。

如果您需要您的系统属性在独立的JVM应用引擎中可用,则应该使用jvmFlags属性。

明文规定:

代码语言:javascript
复制
appengine {
    jvmFlags = ['-DfirstName=Marko', '-DlastName=Vuksanovic']
}

使用gradle.properties:

代码语言:javascript
复制
appengine {
    jvmFlags = ['-DfirstName=$firstName', '-DlastName=$lastName']
}
票数 6
EN

Stack Overflow用户

发布于 2016-09-09 23:38:48

我就是这样做的,为硒化物测试框架设置道具:

代码语言:javascript
复制
test {
    systemProperty "browser", "chrome"
    systemProperty "webdriver.chrome.driver", "$projectDir/drivers/chromedriver"
}
票数 13
EN

Stack Overflow用户

发布于 2015-06-25 18:29:06

我只是无意中发现了这个与gradle应用程序插件一起使用。添加到运行任务中。效果很好:

代码语言:javascript
复制
run {   
    systemProperties['MYPROP'] = '/my/prop/value'
}
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20650655

复制
相关文章

相似问题

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