com.sun.image.codec.jpeg
パッケージとその仲間を使用するコードをコンパイルする必要があります。私は知っています、それは私たちの会社のレガシーコードであり、それをそのままコンパイルする必要があります。私の問題は、Eclipseがこれらのファイルを問題なくコンパイルすることです。IDEA も同じことを行います - コンパイルして動作します。問題はGradleです-次のようなエラーが発生します
error: package com.sun.image.codec.jpeg does not exist
私は知っています--XDignore.symbol.file
コンパイラに追加します。
やった
compileJava.options.compilerArgs.add '-XDignore.symbol.file'
build.grade で詳細モードにすると、パラメーターが正しく渡されることがわかります
20:28:16.148 [DEBUG] [org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler] Compiler arguments: -d C:\workspace\blabla -g -XDignore.symbol.file -classpath C:\workspace\blabla_lots_of_jars.jar C:\workspace\tons_of_java_files.java
20:28:16.153 [INFO] [org.gradle.api.internal.tasks.compile.jdk6.Jdk6JavaCompiler] Compiling with JDK Java compiler API.
しかし、コンパイルは失敗します。もう1つの質問で、gradleファイルに1行追加する必要があることがわかりました
compileJava.options.useAnt = true
ご想像のとおり、すべてがコンパイルされます。デバッグ ログは少し異なりますが、params も正しく渡されていることを示しています
21:50:34.101 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:javac] Compilation arguments:
'-d'
'C:\workspace\blabla'
'-classpath'
'tons_of_jars'
'-target'
'1.7'
'-g'
'-XDignore.symbol.file'
'-source'
'1.7'
しかしuseAnt
、削除される予定で、汚いハックのようです。
Win8で最新のGradle(1.8)とjdk1.7.0_25を使用していますが、それが問題になるとは思えません
Gradle にソースを適切にコンパイルさせ、コンパイル パラメータを尊重させるにはどうすればよいですか?