Bootclasspath in milestone-8 does not include jce.jar


(Ståle Undheim) #1

In our project, we use javax.crypto, and under gradle-milestone-8 we get a compile error on class not found. Investigating this more, and starting off on a clean windows 7 box, I was able to figure out what went wrong.

Setup: * Fresh Windows 7 Professional * JDK 7.0r3 * gradle-milestone-8

The project has source and target 1.6.

When gradle tries to compile, it overrides the default bootclasspath. This new bootclasspath does not include jce.jar, which is where javax.crypto is stored. There might be other classes in the default bootclasspath that get omitted as well. If I change to project source and target to 1.7, it compiles fine. And gradle doesn’t set the bootclasspath on the ant javac task.

Using gradle-mileston-7, and source and target 1.6, the project compiles fine. However, javac prints a warning that bootclasspath is not set.

I have the same problem on linux when compiling using Java 7. If I set JAVA_HOME to point to jdk6, things compile fine.

Suggested fix: either bootclasspath is never unset unless explicitly defined in the gradle build file, or gradle is more intelligent about locating the correct jdk/jre for the target version, and figuring out the correct bootclasspath.


(René Groeschke) #2

Hi staale, you just run into the same issue as this: http://forums.gradle.org/gradle/topics/gradle_build_using_jdk_1_7_does_not_see_javax_crypt_cipher we already changed this behaviour on master.

regards, René