【问题标题】:BitBucket maven repositoryBitBucket Maven 存储库
【发布时间】:2015-10-02 06:31:08
【问题描述】:
我被要求在几个项目中使用 Gradle,并为项目可能需要的各种 jar 文件创建一个远程存储库。
我是 Gradle 的新手,但仅仅定义库依赖项似乎并不困难。现在关于存储库,我想使用 Bitbucket 作为 Maven 存储库的主机,遵循本指南 rapidminer_maven-repo Wiki。
由于我没有使用 Maven 的经验,而且我在本指南上花费了太多时间,有人可以更详细地解释设置步骤吗?
谢谢。
【问题讨论】:
标签:
maven
repository
bitbucket
【解决方案1】:
为了创建托管在 bitbucket 上的 Maven 存储库,我遵循以下步骤:
https://bitbucket.org/neil_rubens/rapidminer_maven-repo/wiki/Home 我部分遵循的指南。
-
完成所有这些工作所需的任何本地配置。
安装 Maven。 https://www.youtube.com/watch?v=Jtj-0yhox5s
可选:安装 python。
-
在 BitBucket 中设置存储库以用作 Maven 存储库
- 创建一个本地文件夹,例如带有子文件夹 maven-repo\jars 和 maven-repo\repository 的 maven-repo
- 将 jar 文件复制到 maven-repo\jars 中。
- 要将其中一个 jar 安装到存储库中,请使用 maven 命令:
mvn install:install-file -DgroupId={jarOwner..more like group folder} -DartifactId={jarName} -Dversion={x.x.x} -Dfile={Path to the jar file in maven-repo\jars} -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=./repository -DcreateChecksum=true
例如
mvn install:install-file -DgroupId=com.mycompany -DartifactId=GSON-2.2.4 -Dversion=2.2.4 -Dfile=C:\Development\maven-repo\jars\gson-2.2.4.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=./repository -DcreateChecksum=true
可选
如果有很多罐子,你可以使用 installJars.py 脚本(这个脚本的所有者是我遵循的指南的创建者)。在cmd中:python.exe installJars {jarsFolder_FullPath} {version}
但是所有库安装都将具有相同的版本..因此它可以被视为存储库版本并在 jar 名称(artifactId)中包含 jar 版本。
该脚本还为所有库安装生成依赖文件和 maven 命令。
-
创建一个与本地 (maven-repo) 同名的 bitbucket PUBLIC 存储库。
在 SourceTree 中打开 bitbucket 项目,然后将步骤 1 的 maven-repo 的内容复制到与 bitbucket 链接的 maven-repo 文件夹中。
提交并推动。
bitbucket 中每个 jar 的路径应该是 maven-repo/repository/{groupId}/{artifactId}/{version}/{artifactId+version}.jar
例如 maven-repo/repository/com/mycompany/gson-2.2.4/1.0/gson-2.2.4-1.0.jar
指南中有另一个步骤(@document top)创建一个主要的依赖 jar.. 但不需要让它工作。
-
设置一个 IntelliJ 项目以引用存储库中的库以实现一致的构建
为了启动一个使用 gradle 的新 IntelliJ 项目
点击文件->新建项目
从列表中选择 Gradle。
检查“自动为空内容根创建目录”并确保选择了“用户默认 gradle 包装器”。
点击下一步。
为项目命名。
点击完成。
在项目根目录下有 build.gradle 文件。为了使用自定义存储库,请从存储库中删除 mavenCentral() 并添加:
repositories {
maven {
url 'https://bitbucket.org/{bitbucketUsername}/maven-repo/raw/master/repository/
}
}
然后在同一个文件中像这样定义库依赖项:
dependencies{
compile 'com.mycompany:gson-2.2.4:1.0'
//compile '{groupId}:{artifactId}:{version}' <--all these as defined in the installation maven commands.
compile 'com.mycompany:license4j-1.6:1.0'
compile 'com.mycompany:kendo-taglib-2015.1.429:1.0'
}
构建项目。如果没有出现库,请单击 Gradle 任务(从左侧列表中),然后单击刷新按钮。
您可以在 build.gradle 中添加以下行以打印 gradle 缓存的内容。
task showMeCache << {
configurations.compile.each { println it}
}