JDK 11 с проблемами JAXB и JAXWS - PullRequest
1 голос
/ 13 мая 2019

Моя цель - перенести приложение веб-служб, которое в настоящее время работает с Java 8, на Java 11. Поскольку компоненты JAXB и JAX-WS были удалены из JDK11, необходимо добавить соответствующие библиотеки, либо используя Maven, либо Jar.библиотеки.

Существует множество рекомендаций и предложений от других людей, которые сталкивались с подобными проблемами, но я не могу найти комбинацию, в которой нет ошибок.

pom.xml

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>11.0.2</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-fxml</artifactId>
    <version>11.0.2</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.0</version>
</dependency>
<!-- JAXWS for Java 11 -->
<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>rt</artifactId>
    <version>2.3.1</version>
</dependency>

modules-info.java

module org.openfx.gustfx {
    requires javafx.controls;
    requires javafx.fxml;
    requires transitive javafx.graphics;
    requires java.xml.bind;
    requires java.xml.ws;
    requires javax.jws;

    opens com.agile.ws.schema.common.v1.jaxws to javafx.fxml;
    opens org.openfx.gustfx to javafx.fxml;
    exports org.openfx.gustfx;
}

Запуск кода приводит к этой ошибке:

Unable to make field protected java.lang.String  
 com.agile.ws.schema.common.v1.jaxws.AgileUserUserGroupIdentifierType.classIdentifier accessible: module org.openfx.gustfx does not "opens com.agile.ws.schema.common.v1.jaxws" to unnamed module @4860d8d7

Как я могу найти этот безымянный модуль?

1 Ответ

1 голос
/ 15 мая 2019

Я смог решить эту проблему, добавив

opens com.agile.ws.schema.common.v1.jaxws;
opens com.agile.ws.schema.project.v1.jaxws;
opens com.agile.ws.schema.search.v1.jaxws;
opens com.agile.ws.schema.collaboration.v1.jaxws;

в модуль-info.java. Сообщение об ошибке говорит о том, что «открытия» должны быть для определенного модуля, но, по-видимому, это не требуется

...