[英]Gradle tries to compile jars' sources
在我的項目中,我有一些由公司創建的Java源以及包含源的依賴關系jar。 問題是命令compileJava
嘗試也編譯jar資源。 如何避免這種情況? 我只想編譯我的資源,而不是jars的資源。
[更新]
這是一個示例,它看起來如何:
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源代碼,但不應編譯。
Gradle僅針對具有(1)具有源代碼和(2)應用了Java插件的模塊或項目編譯源代碼。
如果要禁用特定項目的jar的編譯或創建,可以使用如下語法:
project("Project123") {
compileJava.enabled = false
//AND / OR
jar.enabled = false
}
編輯
但是,如果您要從像ivy這樣的外部源中獲取依賴項,則可以嘗試包括依賴項的類型:
compile 'myLib:myLib:1.0:jar'
您所描述的是Java編譯器的標准行為,可以通過與命令行編譯器相同的方式將其關閉:
tasks.withType(JavaCompile) {
options.compilerArgs = ["-implicit:none"]
}
我有同樣的問題-原來設置空的源路徑可以解決問題
tasks.withType(JavaCompile) { options.compilerArgs += ["-sourcepath", ""] }
我很好奇-implicit:none
無效的原因,但不足以進一步調查(至少現在不是)。
資料來源:Peter在這篇文章中的回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.