在我的项目中,我有一些由我公司创建的java源代码和依赖jars',其中包含源代码。问题是命令compileJava
尝试编译jar文件源。怎么避免这个?我想只编译我的资源,而不是jars的资源。
[UPDATE]
以下是一个示例:
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.compilerArgs = ["-implicit:none"] // this doesn't work
//options.compilerArgs << "-implicit:none" // this one also
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.company:myLib:1.0'
}
myLib
包含由gradle编译的java源代码,但它们不应该。
答案 0 :(得分:0)
Gradle仅编译具有(1)源代码和(2)应用java插件的模块或项目的源代码。
如果要禁用特定项目的jar的编译或创建,可以使用如下语法:
project("Project123") {
compileJava.enabled = false
//AND / OR
jar.enabled = false
}
修改强>
但是,如果您从外部源(如常春藤)中提取依赖项,则可以尝试包含依赖项的类型:
compile 'myLib:myLib:1.0:jar'
答案 1 :(得分:0)
您所描述的是Java编译器的标准行为,可以使用与命令行编译器相同的方式关闭:
tasks.withType(JavaCompile) {
options.compilerArgs = ["-implicit:none"]
}
答案 2 :(得分:0)
我有同样的问题 - 结果设置一个空的源路径解决了问题
tasks.withType(JavaCompile) {
options.compilerArgs += ["-sourcepath", ""]
}
我很好奇为什么-implicit:none
不起作用但不足以进一步调查(至少现在不行)。
来源:Peter在this post中的答案。