我正在尝试学习Eclipse中的Gradle。
是否有任何良好的集成,您可以在其中搜索要包含在项目中的Jar?
现在,这是我身边的一次机会。
示例:
我想从Apache Commons添加CLI库。 Codec库。
我已经添加了jcenter()和mavenCentral,如下所示:
repositories {
jcenter()
mavenCentral()
}
我在依赖项部分尝试了这个(和变体):
compile 'org.apache.commons:cli:1.2'
compile 'org.apache.commons:codec:1.10'
但我得到的只是
Could not resolve: org.apache.commons:cli:1.2
Could not resolve: org.apache.commons:codec:1.10
在search.maven.org上搜索时,如果我在org.apache.com上搜索,我会得到111页的点击次数......我没有时间通过这些页面进行搜索。
在搜索commons-cli时,它会找到2005年的版本...以及一个名为
的库org.mod4j.org.apache.commons cli
不知道“mod4”是什么意思。
这些存储库中是否存在Apache公共存在的结论?
在这些情况下你怎么办?你如何提出正确的“编译”规范?
我可以举例说“获取这个罐子的最新版本”吗?
愿意有办法:
gradle search apache-commons --only-latest-version
或类似的东西。类似Ruby中精彩的GEM / BUNDLE命令。
感谢您的帮助
答案 0 :(得分:4)
您可以搜索Maven Central repository以查找工件的特定版本,但在某些情况下,您必须知道工件的确切名称(artifactId)。不幸的是,apache工件在groupId或artifactId命名方案中并不一致。例如,Apache Commons CLI为commons-cli:commons-cli
。
Here是该工件的最新版本。甚至还有一个方便的面板,根据您的依赖工具(maven,Gradle,Ivy等)显示要使用的确切行。
答案 1 :(得分:0)
以下build.gradle
有效。看看依赖声明的语法。请read this documentation了解语法。
apply plugin: 'java'
repositories {
jcenter()
mavenCentral()
}
dependencies {
compile group: 'commons-cli', name: 'commons-cli', version: '1.2'
compile group: 'commons-codec', name: 'commons-codec', version: '1.10'
testCompile 'junit:junit:4.12'
}
至于获得最新的' gradle中的某个库的版本,我恐怕像maven一样thats not possible currently。
答案 2 :(得分:0)
是否有任何良好的集成,您可以在其中搜索要包含在项目中的Jar?
据我所知,Gradle本身并没有特别的支持。
在这些情况下你怎么办?你如何提出正确的“编译”规范?
在Maven存储库中搜索所需的依赖关系之前,最好先咨询项目的主页。例如commons-cli
有一个单独的Dependency Information部分,列出了各种构建工具所需的信息。对于Gradle / Grails和最新的 SNAPSHOT 版本,这是
compile 'commons-cli:commons-cli:1.4-SNAPSHOT'
有效版本列表在Changes Reports部分编译。
我可以举例说“获取这个罐子的最新版本”吗?
有一个名为gradle-versions-plugin的插件可以列出已定义依赖项的更新。当然,这要求您已经正确定义了依赖项。