2014-10-23 1 views
6

Я пытаюсь обновить существующую систему сборки, чтобы использовать Java 8 вместо компилятора Java 5/6, однако мне все же приходится создавать совместимые выходы с Java 5/6. В целом это тривиально (-target 1.6), но я с трудом делаю это с кодом, созданным из wsimport (используя версию в JDK 8 bin).Как заставить Java 8 команду wsimport генерировать 1,6-целевой код-совместимый

Я использую 64-разрядную виртуальную машину Java HotSpot (сборка 25.20-b23), JDK 1.8.0_20.

Команда wsimport вызывается из командной строки для генерации кода и выходов, упакованных непосредственно оттуда. По старым причинам я не могу изменить этот процесс (например, использовать ant), поэтому мне нужно решить проблему из командной строки.

Что я запустил: «wsimport WSDL_FILE» (фактический файл не имеет значения) затем запустите «javap -verbose CLASS | grep major» на любом из классов на выходе, чтобы проверить версию: он всегда выходит 52.

Я попытался с помощью -J аргумента wsimport чтобы передать параметры в JAVAC компилятор, однако ни один из ниже работал:

wsimport "-J-target 1.6" WSDL (fails with unrecognized option -target 1.6" coming from wsimport) 
wsimport "-J-Djavac.target=1.6" WSDL (no effect) 
wsimport "-J-Djavac.opt.target=1.6" WSDL (no effect) 

Предположительно есть либо некоторые вариации при переходе цели через что работы или некоторые настройки свойств, которые должны работать; если это тот, который я использую, то я не понял, как правильно его передать.

ответ

3

Предполагая, что wsimport создает исходный код на Java 6, по какой-либо причине он не должен, но кто знает, тогда решение состоит в том, чтобы просто добавить -Xnocompile в wsimport, а затем напрямую построить источник самостоятельно, используя любой механизм, удобный для ваш процесс.

+0

Ницца! Я считаю, что это сработает, что я могу разумно включить вторую команду, где происходит сборка. Я соглашусь, когда я докажу, что работает (до тех пор, если кто-нибудь знает, как исправить внутри wsimport, хотелось бы узнать). – user1676075

 Смежные вопросы

  • Нет связанных вопросов^_^