Gradle子项目jar并添加到Eclipse引用的库中

时间:2014-10-26 12:12:33

标签: java eclipse gradle spongeapi

我在http://www.github.com/kourbou/HyperQuest有一个回购。 我有一个名为SpongeAPI的项目的git子模块。我想自动将子项目的编译jar添加到Eclipse项目中,但我没有这样做。我已将此添加到我的gradle.build:

dependencies 
{
    jar project('SpongeAPI')
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

但构建失败并且发生了这种情况:

A problem occurred evaluating root project 'HyperQuest'.
> Could not find method jar() for arguments [project ':SpongeAPI'] on root project 'HyperQuest'.

有人可以给我一个例子或写一个有效的build.gradle的要点吗?感谢。

2 个答案:

答案 0 :(得分:3)

设置多项目构建或将SpongeAPI的输出发布到某个存储库并从该位置使用它。

http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html#sec:examples中描述了多项目构建 - 您将添加包含SpongeAPI的settings.gradle,然后依赖关系就像compile project(':SpongeAPI')

发布方法意味着您将工件从SpongeAPI构建上传到存储库,您的构建将添加此存储库(如添加mavenCentral()jcenter())并使用通用表示法引用您的工件。还有一个文档可以帮助您 - http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html#N10669

答案 1 :(得分:0)

我知道你早在SpongeAPI的开发中发布了这个,但我会在这里为未来的读者添加这个。

通过将SpongeAPI作为git-submodule包含在内,您可能会将插件绑定到API的特定开发版本中。

相反,我们提供了您应该在https://repo.spongepowered.org/maven/

使用的maven存储库

使用SpongeAPI版本时,您必须坚持发布的API版本,而不是快照。

否则,您的插件可能会破坏API的开发版本。

您可以在此处阅读有关如何设置Sponge插件项目的最新信息:https://docs.spongepowered.org/stable/en/plugin/project/index.html