我想在MacOS X上安装Apache Gobblin
。为此,我下载了版本0.14.0,并按照此处的步骤进行操作。
我做的第一件事是:
tar -xvf incubator-gobblin-release-0.14.0.tar.gz
然后:
cd Users/xxxx/incubator-gobblin-release-0.14.0
最后:
./gradlew build
我遇到了这样的错误。
Parallel execution is an incubating feature.
Parallel execution with configuration on demand is an incubating feature.
> Configure project :
Build property: gobblinFlavor=standard
Build property: jdkVersion=1.8
Build property:
sonatypeArtifactRepository=https://oss.sonatype.org/service/local/staging/deploy/maven2/
Build property:
sonatypeArtifactSnapshotRepository=https://oss.sonatype.org/content/repositories/snapshots/
Build property:
nexusArtifactRepository=https://repository.apache.org/service/local/staging/deploy/maven2
Build property:
nexusArtifactSnapshotRepository=https://repository.apache.org/content/repositories/snapshots
Build property: doNotSignArtifacts=false
Build property: avroVersion=1.8.1
Build property: awsVersion=1.11.8
Build property: bytemanVersion=2.2.1
Build property: confluentVersion=2.0.1
Build property: hadoopVersion=2.3.0
Build property: hiveVersion=1.0.1
Build property: kafka08Version=0.8.2.2
Build property: kafka09Version=0.9.0.1
Build property: pegasusVersion=11.0.0
Build property: salesforceVersion=42.0.0
Detected Gradle version major=4 minor=9
FAILURE: Build failed with an exception.
* Where:
Script '/Users/xxxxxx/incubator-gobblin-release-
0.14.0/gradle/scripts/globalDependencies.gradle' line: 44
* What went wrong:
A problem occurred evaluating script.
> Cannot invoke method getURLs() on null object
* Try:
Run with --stacktrace option to get the stack trace. Run with --info
or --debug option to get more log output. Run with --scan to get full
insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it
incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:command_line_warnings
我的Java版本:
java 9.0.4
Java(TM)SE运行时环境(内部版本9.0.4 + 11)
Java HotSpot(TM)64位服务器VM(内部版本9.0.4 + 11,混合模式)
我的Maven版本:
Apache Maven 3.5.3(3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T22:49:05 + 03:00)
Maven主页:/usr/local/Cellar/maven/3.5.3/libexec
Java版本:9.0.4,供应商:Oracle Corporation
Java主页:/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
默认语言环境:en_TR,平台编码:UTF-8
操作系统名称:“ mac os x”,版本:“ 10.14.1”,拱门:“ x86_64”,家族:“ mac”
如果有人有任何信息或建议,我正在等待。
答案 0 :(得分:0)
只需稍微研究一下代码。您确定他们的构建脚本支持Java 9吗?
查看您遇到的问题所在的行:globalDependencies.gradle:44
。参见ToolProvider.getSystemToolClassLoader()
。现在让我们来看一下Java 9的its docs:
已弃用。 此方法可能会在Java SE的将来版本中删除。使用system tool provider或service loader机制来查找系统工具以及用户安装的工具。 返回可用于加载系统工具的类加载器;如果未提供此类特殊加载器,则返回null。
实施要求:
此实现始终返回null。
看到了吗? 它总是返回null
!
Java 8中的事物were different:
为该平台提供的工具返回类加载器。这不包括用户安装的工具。使用服务提供商机制来查找用户安装的工具。
因此,脚本正在对getURLs
对象调用null
,并且显然会引发NPE。它可能需要修复!