使用gradle,如何从本地jar表达编译时间依赖性?

时间:2017-03-06 05:48:49

标签: gradle

我的项目结构如下:

MainProject

|
|---- ExampleModule
|         \-src
|         \-libs
|                \-LibraryModule-0.1.jar
|
|---- LibraryModule (from existing source)

我有一个执行这些任务的buildscript:

  1. 构建/编译LibraryModule
  2. 将destinationDir设置为ExampleModule / libs /
  3. 的jar
  4. 汇编ExampleModule,它取决于LibraryModule-0.1.jar
  5. 运行
  6. 这看起来很简单,除了我需要使用此本地jar提供的compileOnly /,因为它不是运行时依赖项。我将如何在我的ExampleModule build.gradle文件中编写它?

    这就是我目前所拥有的:

    dependencies {
      compileOnly 'libs:LibraryModule-0.1.jar'
    }
    

1 个答案:

答案 0 :(得分:2)

对于本地jar,就像来自mavenCentral或jcenter的任何依赖项一样,如果你在jar文件名的末尾有一个版本号,它必须表达如下:

compileOnly 'libs:LibraryModule-build:0.1'

请注意,如果我将jar命名为“LibraryModule.jar”,只需输入

即可
compileOnly 'libs:LibraryModule'

会起作用。

注意 - 如果您在项目中使用gradle来开发注释处理工具或仅在编译时依赖的任何其他内容,则建议您使用gradle-apt-plugin。另外,here is an informative page in the gradle official repo about current support for annotation processors.

相关问题