2017-02-16 4 views
0

私は私のプロジェクトのGradleファイルの末尾に以下を入れている:AndroidプロジェクトでJavaコンパイラのカスタム引数を設定する方法は?

gradle.projectsEvaluated { 
    tasks.withType(JavaCompile) { 
     options.compilerArgs += 
      ['-Xep:MissingOverride:ERROR', 
      '-Xep:MissingCasesInEnumSwitch:ERROR',] 
    } 
} 

しかし、私のコードでは、私はどこか@Override注釈を削除するか、switch文を削除した場合、私のAndroidのプロジェクトがまだ構築します。エラーで失敗してはいけませんか?

+0

それはアンドロイドのプロジェクトのために異なる振る舞いどうかは知らないが、私たちのJava EEビルドのために私は、この実装: 'compileJava { options.fork =真 options.forkOptions.executable =「javacの」 options.compilerArgs.addAllを( '' -APackageAcronym = '+ gradle.ext.packageAcronym、' -s '、gradle.ext.generatedQueriesDir)) } 'compileJavaはそれ自身のタスクです。 – Nico

+0

'compileJava'をルートレベルに置いていますか?私の場合、私の場合、次のエラーメッセージが表示されます。 "エラー:メソッドcompileJava()を見つけることができませんでした..." – ADev

+1

はい私はそれをルートレベルに置きます。私はそれがアンドロイドのグラデルのビルドのために異なると思いますか?私はあなたが時間を無駄にして申し訳ありません。 – Nico

答えて

1

私はあなたの問題をGoogleで検索して、あなたの問題を説明し、このpost を発見し、解決策は次のようになります。

allprojects { gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } } 

としては「GradleのビルドはJavaプロジェクトのためのよりアンドロイドのプロジェクトのために異なっており、あなたができるようです最初のコメントに記載されているように、自分自身のタスクCompileJavaにアクセスしてください。

関連する問題