Как преодолеть "пакет com.sun.xml.internal.xxx не существует" при компиляции с помощью Gradle?

Я хочу скомпилировать java-код, который использует некоторые отказоустойчивые пакеты "sun" Java и Gradle скомпилировать задачу с этой ошибкой

error: package com.sun.xml.internal.ws.developer does not exist

Я использую Hotspot JDK, и я вижу этот пакет там (так оно и есть на самом деле - в файле rt.jar) Я также попытался добавить rt.jar непосредственно в зависимости от Gradle:

compile files( 'C:/Program Files/Java/jdk1.7.0_05/jre/lib/rt.jar')

но без эффекта

вот мой Gradle -v вывод:

------------------------------------------------------------
Gradle 1.2
------------------------------------------------------------

Gradle build time: Streda, 2012, september 12 10:46:02 UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.7.0_05 (Oracle Corporation 23.1-b03)
OS: Windows 7 6.1 amd64

Я также попытался добавить jaxws-rt.jar в classpath - не действует ни

Я бы очень признателен за любую помощь

спасибо

Ответы

Ответ 1

Это Oracle, чтобы эти классы были недоступны во время компиляции.

См. ответ этот отчет об ошибке javac.

Для вероятного решения см. Использование внутренних классов солнца с помощью javac. Переключатель javac -XDignore.symbol.file должен исправить это, но я - gradle newb, и не вижу, как передать это gradle JavaCompile. Мое лучшее предположение -

  apply plugin: 'java' 
  compileJava.options.useAnt = true 
  compileJava.options.compilerArgs << "-XDignore.symbol.file" 

Кстати, ct.sym(упоминается в ссылке) представляется jar файлом, который перечисляет, как класс-заглушки, все доступные классы.