Gradle jar 包含来自依赖项的类



我有一个项目有多个模块,比如实用程序和核心。
settings.gradle

include 'utils', 'core'

core/build.gradle

jar {
    destinationDir = file(LIB_DIR)
    manifest {
        attributes(
                'Main-Class': 'com.cohesity.spotlight.Main'
        )
    }
}
dependencies {
    compile files("$buildDir/libs/utils.jar")
}

核心.jar包含来自 utils.jar 的类。为什么会这样?

我想我知道这个!(我自己也对此感到困惑(

我猜utils.jar里面有 java 源文件。默认情况下,javac还将编译这些"隐式"源以及来自src/main/java的源。若要停止此操作,需要将-implicit:none传递给编译器。

例如:

tasks.withType(JavaCompile) {
   options.compilerArgs << '-implicit:none' 
} 

请参阅 https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html(搜索"隐式"(

最新更新