Java NetBeans w/Gradle支持用于测试的系统环境

Java NetBeans w/Gradle支持用于测试的系统环境,java,netbeans,gradle,google-places-api,Java,Netbeans,Gradle,Google Places Api,因此,我正试图通过一个使用GooglePlacesAPI的项目,通过Java客户端库,开始Java开发。我已经做了一段时间的PHP/Javascript开发人员,并通过了HeadFirstJava,但以前从未与Gradle合作过 到目前为止,我尴尬地陷入了让客户端库成功测试和构建的困境。我已经用git克隆了客户端库,安装了Netbeans、JDK 8和Netbeans的Gradle支持插件,并设置了我的Google API密钥。我在Windows上工作,FWIW。根据网站上的文档,我必须为测试运

因此,我正试图通过一个使用GooglePlacesAPI的项目,通过Java客户端库,开始Java开发。我已经做了一段时间的PHP/Javascript开发人员,并通过了HeadFirstJava,但以前从未与Gradle合作过

到目前为止,我尴尬地陷入了让客户端库成功测试和构建的困境。我已经用git克隆了客户端库,安装了Netbeans、JDK 8和Netbeans的Gradle支持插件,并设置了我的Google API密钥。我在Windows上工作,FWIW。根据网站上的文档,我必须为测试运行设置一个API_KEY环境变量,因此我尝试将其设置为Netbeans中客户端库项目的JVM选项(参见屏幕截图,这是一个真正的键,但显然我在截图之前删除了键本身)

这是基于Gradle支持插件的文档:

不幸的是,我仍然得到IllegalArgumentException:找不到凭据!。。。为了我所有的测试。我在com.google.maps.AuthenticatedTest.java:57中设置了一个断点,并调试了测试,很明显,环境变量似乎没有在该点设置(apiKey变量在那里是一个空字符串),虽然我确信我用于添加JVM参数的方法是有效的,因为我在添加JVM参数后开始获取测试的堆栈跟踪(最初我只是得到:“com.google.maps.GeolocationApiTest>initializationError FAILED java.lang.IllegalArgumentException”最后,它建议我使用--stacktrace运行测试(了解更多详细信息)


我猜我遗漏了一些令人震惊的基本信息,但我很难从这里找到答案。

Java的
-D
参数设置了一个属性(可以使用
系统.getProperty
方法查找),而不是一个环境变量。很明显,在您的情况下,正确的标志是:

-Dapi.key="secret key"
请注意属性和环境变量之间的名称差异

显然,如果在其他地方设置环境变量(您的登录shell配置文件、Windows的系统属性等),您仍然可以使用这些环境变量