java - 我正在尝试安装Apache Gobblin。如何使用Gradle安装它?

标签 java macos maven gradle gobblin

我想在MacOS X上安装Apache Gobblin。为此,我下载了版本0.14.0,并按照此处的步骤进行操作。
Install Gobblin
我做的第一件事是:

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 Runtime Environment (build 9.0.4+11)

Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)


我的Maven版本:

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T22:49:05+03:00)

Maven home: /usr/local/Cellar/maven/3.5.3/libexec

Java version: 9.0.4, vendor: Oracle Corporation

Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home

Default locale: en_TR, platform encoding: UTF-8

OS name: "mac os x", version: "10.14.1", arch: "x86_64", family: "mac"


如果有人有任何信息或建议,我正在等待。

最佳答案

只是稍微研究了一下代码。您确定Java 9受其构建脚本支持吗?

查看您遇到的一行: globalDependencies.gradle:44 。参见ToolProvider.getSystemToolClassLoader()。现在让我们来看一下Java 9的its docs:

Deprecated. This method is subject to removal in a future version of Java SE. Use the system tool provider or service loader mechanisms to locate system tools as well as user-installed tools. Returns a class loader that may be used to load system tools, or null if no such special loader is provided.

Implementation Requirements:

This implementation always returns null.



看到那个吗? 它总是返回null!

Java 8中的were different内容:

Returns the class loader for tools provided with this platform. This does not include user-installed tools. Use the service provider mechanism for locating user installed tools.



因此,脚本正在getURLs对象上调用null,并且显然抛出了NPE。它可能需要修复!

关于java - 我正在尝试安装Apache Gobblin。如何使用Gradle安装它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53769473/

相关文章:

java - 在java中获取父类(super class)值

xcode - XCode链接到OpenSSL库

java - elasticsearch - 增加计数器或创建文档(如果不存在)

java - 解决 Windows Server 上的高 CPU 使用率问题

java - jar 文件捆绑后获取 Java 系统输出(通过 MAC 中的 AppBundler)

java - 在 Eclipse 之外运行具有 Eclipse 依赖项的 Maven 项目

java - 如何自动化 Intellij 项目配置

java - 我如何告诉 Maven 在测试类路径上添加我的 war 的依赖项?

java - Apache POI - 在数据库中读取和存储富文本内容

macos - OSX上/tmp中的Docker卷为空