使用Gradle在项目中包含我自己的Java库
免责声明:我对Gradle和依赖关系管理非常陌生。我试着阅读文档,但就是看不懂大量的信息。我也找不到任何有用的东西来回答我的问题,所以很抱歉,如果以前有人回答过这个问题,我尝试搜索 所以我的情况如下:我有一个Java项目,它应该给我一种使用JSON文件使用程序配置的标准化方法。此项目依赖于Gson。到目前为止还不错,我只是简单地添加了使用Gradle在项目中包含我自己的Java库,java,gradle,Java,Gradle,免责声明:我对Gradle和依赖关系管理非常陌生。我试着阅读文档,但就是看不懂大量的信息。我也找不到任何有用的东西来回答我的问题,所以很抱歉,如果以前有人回答过这个问题,我尝试搜索 所以我的情况如下:我有一个Java项目,它应该给我一种使用JSON文件使用程序配置的标准化方法。此项目依赖于Gson。到目前为止还不错,我只是简单地添加了compile'com.google.code.gson:gson:2.6.2'到项目依赖项,一切都很好,这个库在Idea中显示为外部库,我可以使用它和其他东西 现
compile'com.google.code.gson:gson:2.6.2'
到项目依赖项,一切都很好,这个库在Idea中显示为外部库,我可以使用它和其他东西
现在我想在其他项目中使用该项目来利用配置。我一辈子都不知道如何使用Gradle将项目或库jar添加到其他项目中
我尝试过将库jar复制到项目的libs文件夹中以在其中使用它,并将编译文件('./libs/myLibrary-0.0.1.jar')
添加到依赖项列表中,或者通过Idea中的项目结构将jar添加为库。这些方法都不管用,我也束手无策
任何帮助都将不胜感激。您有两种选择。第一个简单的方法是构建基础项目,并在本地maven存储库中使用它。要使您的项目在本地maven repo中可用,请使用
maven
plugin。在build.gradle
文件中,添加以下内容
apply plugin: 'maven'
现在使用gradle clean build install
将jar发布到本地repo。请记住,install
任务实际上是将您的jar放入本地的任务。然后转到依赖于此任务的其他项目,告诉它通过将mavenLocal
添加到存储库来查看您的本地maven repo
repositories {
mavenCentral()
mavenLocal()
}
另一种选择是,如果您在公司中使用集中式回购,则可以发布基本jar并在其他项目中使用它。如果您或您的公司有一个中央二进制存储库,例如。然后,您应该设置在那里发布您的jar 但既然您没有提到中央存储库,我就假设您没有中央存储库,只是想让您的依赖关系在一台机器上工作。在这种情况下,我建议这样做: 将maven发布插件添加到依赖项项目:
apply plugin: 'maven-publish'
还要确保定义项目的组
、版本
和名称
变量(请参阅)。你以后会需要它们的。然后添加一个发布定义,该定义将告诉maven publish发布所有类:
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
使用这些设置,您现在应该能够运行publishToAvenLocal
任务。去做吧。如果成功,依赖项jar现在应该位于本地maven存储库(~/.m2/repository)中
现在,在需要依赖项的项目中添加mavenLocal
作为存储库:
repositories {
mavenLocal()
}
(您可能希望在此处添加其他存储库,例如mavenCentral())
还可以添加jar的组、名称和版本,就像您的gson依赖项一样:
编译'yourgrou:yourname:yourversion
。
Gradle现在应该能够从本地maven repo获取依赖项