1

私のプロジェクトでは、私の会社によって作成されたいくつかの Java ソースと、ソースを含む依存関係の jar があります。問題は、コマンドがcompileJavajar ソースもコンパイルしようとすることです。これを回避する方法は?jar のソースではなく、自分のソースだけをコンパイルしたい。

[アップデート]

これがどのように見えるかの例です:

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'
}

myLibgradle によってコンパイルされた Java ソースが含まれていますが、そうではありません。

4

3 に答える 3

0

私は同じ問題を抱えていました-空のソースパスを設定すると問題が解決することがわかりました

tasks.withType(JavaCompile) { options.compilerArgs += ["-sourcepath", ""] }

なぜ-implicit:noneうまくいかないのか興味がありますが、これをさらに調査するのに十分ではありません(少なくとも今は)。

出典:この投稿のピーターの回答.

于 2015-02-10T12:56:13.347 に答える
0

あなたが説明しているのはJavaコンパイラの標準的な動作であり、コマンドラインコンパイラと同じ方法でオフにすることができます:

tasks.withType(JavaCompile) {
    options.compilerArgs = ["-implicit:none"]
}
于 2013-06-18T03:54:33.390 に答える
0

Gradle は、(1) ソースがあり、(2) Java プラグインが適用されているモジュールまたはプロジェクトのソースのみをコンパイルします。

特定のプロジェクトの jar のコンパイルまたは作成を無効にする場合は、次のような構文を使用できます。

project("Project123") { 
    compileJava.enabled = false
    //AND / OR
    jar.enabled = false
}

編集

ただし、ivy などの外部ソースから依存関係を取得する場合は、依存関係のタイプを含めてみることができます。

compile 'myLib:myLib:1.0:jar'
于 2013-06-17T08:39:25.763 に答える