2017-03-08 126 views
2

我检查出Nicobar并尝试使用gradle 3.4版来构建它,但失败了。也尝试在STS中构建它,它似乎在使用gradle版本2.2,但又陷入错误。使用gradle构建netflix nicobar时出错

with gradle 2.2: java.lang.NoClassDefFoundError: org/gradle/api/internal/project/AbstractProject 
    at nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy:47) 
    at nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy) 
    at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35) 


with gradle 3.4: org.gradle.api.plugins.InvalidPluginException: An exception occurred applying plugin request [id: 'nebula.netflixoss', version: '2.2.5'] 
    at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugin(DefaultPluginRequestApplicator.java:168) 
    at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:124) 
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:131) 
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39) 

回答

2

Netflix Nicobar出厂时其已经配置为建立适当的gradle这个版本的项目gradle这个包装。而不是使用安装的gradle尝试使用包装 - 它指向2.2.1版本。我刚刚签出并构建了该项目,这一切都运行良好。

随着gradle这个3.4.1失败,出现相同的异常:

java.lang.NoClassDefFoundError: org/gradle/api/internal/project/AbstractProject at nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy:47) at nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy)

这意味着尼科巴使用旧版本的NetflixOssProjectPlugin.groovy这是根据org.gradle.api.internal.project.AbstractProject - 这是现在从依赖消除,你可以看到here 。使用gradle包装。

+0

它仍然没有工作在我现有的设置。然而,当我尝试新鲜安装构建成功。谢谢回答 :) – saurabh