JEP 320: удалить модули Java EE и CORBA
я взял пример SOAP наПример рабочего мыльного клиента , поместите это в файлSOAPClientSAAJ.java
и попытался скомпилировать его (Openjdk 9 на Debian):
t@h ~/javatest> javac SOAPClientSAAJ.java
SOAPClientSAAJ.java:1: error: package javax.xml.soap is not visible
import javax.xml.soap.*;
^
(package javax.xml.soap is declared in module java.xml.ws, which is not in the module graph)
1 error
Попробовав Google, я обнаружил, что компиляция и запуск
t@h ~/javatest> javac --add-modules java.xml.ws SOAPClientSAAJ.java
t@h ~/javatest> java --add-modules java.xml.ws SOAPClientSAAJ
работает. Смотрите также это видео для общего фона:https://www.youtube.com/watch?v=y8bpKYDrF5I&t=20m17s
Теперь вопросы:
Разве компилятор не должен автоматически добавлять модуль java.xml.ws? (поскольку он, очевидно, знает, что это необходимо) Это ошибка в javax.xml.soap?Почему опция --add-modules не задокументирована на моих страницах руководства? (openjdk 9 в Debian)Что я должен написать в файле .java, чтобы автоматически добавить модуль java.xml.ws?