Gradle依赖zip编译

时间:2018-03-06 16:48:37

标签: gradle dependencies

目前我正在使用需要特定外部API的Java后端服务器:http://repo.ehealth.fgov.be/artifactory/maven2-cache/be/fgov/ehealth/connector/connector-packaging-technical/3.14.2/

我目前面临的问题如下:

我使用gradle编译依赖项,gradle可以成功下载此API。但是,我不能在我的代码中使用jar。原因是,zip包含几个其他文件夹,如文档,并且jar位于zip的lib文件夹中。所以我需要的唯一内容是zip。

目前我按照以下方式编译依赖项:

compile(group: 'be.fgov.ehealth.connector', name: 'connector-packaging-technical', version: '3.14.2', classifier: 'java', ext: 'zip')

是否有可能使用lib文件夹中的所有jar?

2 个答案:

答案 0 :(得分:0)

本地JAR选项

  • 首先,您将为项目创建自己的lib文件夹,该文件夹位于项目根目录中。
  • 然后你将提取你想要的JAR,因此该目录将包含你想要使用的JAR。
  • 最后,您将JAR添加到gradle中:source

    dependencies {
      compile files('lib/something_local.jar')
    }
    

私人回购选项

假设JAR不可公开访问,并假设许可证不禁止它,您可以将它托管在只有您有权访问的私有仓库上,以便可以在项目之间共享依赖项。

答案 1 :(得分:0)

老实说,在快速查看公共存储库之后,我建议不要依赖zip包装,而是去取你明确需要的罐子。

例如,zip文件包含许多connector-* jar文件,经过快速查看后,可以在http://repo.ehealth.fgov.be/artifactory/maven2-cache/be/fgov/ehealth/connector/找到这些文件。

例如,文件lib/connector-utilities-etee-3.14.2.jar可以be found,甚至还有一个正确的maven pom文件,指示它所需的依赖项。

已经这么做了:

dependencies {
  compile 'be.fgov.ehealth.connector:connector-utilities-etee:3.14.2'
}

将为您的项目带来很多依赖项。

注意:您应该直接使用传递依赖项。从长远来看,明确宣布这些内容总是更好,即使它们已经过时也是如此。