使用gradle构建netflix nicobar时出错

时间:2017-03-08 22:23:42

标签: java gradle netflix

我检查了Nicobar并尝试用gradle版本3.4构建它并且失败了。也尝试在STS中构建它似乎使用gradle版本2.2但又一次出错。

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)

1 个答案:

答案 0 :(得分:2)

Netflix Nicobar附带了gradle包装器,它已经配置为使用适当的gradle版本构建项目。而不是使用已安装的gradle尝试使用包装器 - 它指向2.2.1版本。我刚刚检查并构建了项目,一切运作良好。

对于gradle 3.4.1,它失败并出现相同的异常:

  

java.lang.NoClassDefFoundError:   组织/ gradle产出/ API /内部/项目/ AbstractProject           在nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy:47)           在nebula.plugin.netflixossproject.NetflixOssProjectPlugin.apply(NetflixOssProjectPlugin.groovy)

这意味着Nicobar使用的NetflixOssProjectPlugin.groovy旧版本取决于org.gradle.api.internal.project.AbstractProject - 现在可以从依赖项中删除here。使用gradle包装器。