我检查了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)
答案 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包装器。