我有一个项目,其中包含多个模块,例如utils和core。
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")
}
core.jar包含来自utils.jar的类。为什么会这样?
答案 0 :(得分:0)
我想我知道这个! (我本人对此感到困惑)
我猜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(搜索“隐式”)