我正在使用 Gradle 和两个独立的项目,其中一个项目将是一个库,我想将其编译成可实现的 jar,它可以在其他项目(应用程序)以及其他项目中使用。
在我的库中,我依赖 Java Boot 和一些 Google 库。我需要在库的 Gradle 文件中指定什么,以便在编译时 Java Boot 和其他库不会编译到该 jar 中,从而扩大其大小?
我的应用程序实现我的库 jar 应该提供这些库。在这种情况下,我是否需要在应用程序的 Gradle 文件中指定任何特定内容?
最佳答案
您可以将库项目的依赖项定义为compileOnly
:
dependencies {
compileOnly group: 'com.google.guava', name: 'guava', version: '27.0-jre'
}
这样您的依赖项就不会被导出,也不会被打包到任何工件中。
如果您在测试中需要此依赖项,您还需要将其添加到 testImplementation
配置中。
关于Java 库,其依赖项是通过实现应用程序提供的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56154045/