带有 Gradle 支持测试系统环境的 NetBeans
NetBeans w/ Gradle Support System Environments for Testing
因此,我正尝试通过 Java 的客户端库开始 Java 开发一个使用 Google Places API 的项目。我已经成为 PHP/Javascript 开发人员一段时间了,并且通过了 Headfirst Java,但之前没有与 Gradle 合作过。
到目前为止,我只是让客户端库成功测试和构建,这让我很尴尬。我已经 git-clone 了客户端库,安装了 Netbeans,JDK 8 和 Gradle Netbeans 支持插件,并设置了我的 Google API 密钥.我正在研究 Windows,FWIW。根据 https://github.com/googlemaps/google-maps-services-java 的文档,我必须将测试的 API_KEY 环境变量设置为 运行,因此我尝试将其设置为 Netbeans 中客户端库项目的 JVM 选项(看截图,它是一个真正的钥匙,但显然我在截图之前删除了钥匙本身)
这基于 Gradle 支持插件的文档:https://github.com/kelemen/netbeans-gradle-project/wiki/Built-In-Tasks
不幸的是,对于我的所有测试,我仍然得到 IllegalArgumentException: No credentials Found!...。我在 com.google.maps.AuthenticatedTest.java:57 中设置了一个断点并调试了测试,很明显似乎当时没有设置环境变量(那里的 apiKey 变量是一个空字符串),尽管我确定我使用的方法用于添加 JVM args 的工作正常,因为我在添加它后开始获取测试的堆栈跟踪(最初我只是得到:"com.google.maps.GeolocationApiTest > initializationError FAILED java.lang.IllegalArgumentException" 然后最后它建议我 运行 测试与--stacktrace 更多细节)。
我猜我遗漏了一些非常基本的东西,但我不知道从哪里可以看到。
Java 的 -D
参数设置了一个 属性(您可以使用 System.getProperty
方法查找),而不是环境变量。很明显,在您的情况下,正确的标志将是:
-Dapi.key="secret key"
请注意 属性 和环境变量之间的名称差异。
显然,如果您在别处设置环境变量(您的登录 shell 配置文件、Windows' 系统属性等),您仍然可以使用环境变量
因此,我正尝试通过 Java 的客户端库开始 Java 开发一个使用 Google Places API 的项目。我已经成为 PHP/Javascript 开发人员一段时间了,并且通过了 Headfirst Java,但之前没有与 Gradle 合作过。
到目前为止,我只是让客户端库成功测试和构建,这让我很尴尬。我已经 git-clone 了客户端库,安装了 Netbeans,JDK 8 和 Gradle Netbeans 支持插件,并设置了我的 Google API 密钥.我正在研究 Windows,FWIW。根据 https://github.com/googlemaps/google-maps-services-java 的文档,我必须将测试的 API_KEY 环境变量设置为 运行,因此我尝试将其设置为 Netbeans 中客户端库项目的 JVM 选项(看截图,它是一个真正的钥匙,但显然我在截图之前删除了钥匙本身)
这基于 Gradle 支持插件的文档:https://github.com/kelemen/netbeans-gradle-project/wiki/Built-In-Tasks
不幸的是,对于我的所有测试,我仍然得到 IllegalArgumentException: No credentials Found!...。我在 com.google.maps.AuthenticatedTest.java:57 中设置了一个断点并调试了测试,很明显似乎当时没有设置环境变量(那里的 apiKey 变量是一个空字符串),尽管我确定我使用的方法用于添加 JVM args 的工作正常,因为我在添加它后开始获取测试的堆栈跟踪(最初我只是得到:"com.google.maps.GeolocationApiTest > initializationError FAILED java.lang.IllegalArgumentException" 然后最后它建议我 运行 测试与--stacktrace 更多细节)。
我猜我遗漏了一些非常基本的东西,但我不知道从哪里可以看到。
Java 的 -D
参数设置了一个 属性(您可以使用 System.getProperty
方法查找),而不是环境变量。很明显,在您的情况下,正确的标志将是:
-Dapi.key="secret key"
请注意 属性 和环境变量之间的名称差异。
显然,如果您在别处设置环境变量(您的登录 shell 配置文件、Windows' 系统属性等),您仍然可以使用环境变量