Получение cxf-codegen-плагина, работающего на Java 9

Daniel Skogquist Åborg спросил: 28 марта 2018 в 04:48 в: java-9

Я пытаюсь получить cxf-codegen-plugin, работающий на Java 9 с некоторым сопротивлением. До сих пор я добавил java.se.ee в модули времени выполнения и добавил необходимые зависимости к maven.

Однако, когда я пытаюсь создать свои источники, я получаю следующую ошибку:

DefaultValidationEventHandler: [ERROR]: unexpected element (uri:"http://cxf.apache.org/tools/plugin", local:"databinding"). Expected elements are <{}databinding>,<{}frontend> 
 Location:  node: [databinding: null]
apr. 21, 2018 8:23:57 EM org.apache.cxf.tools.wsdlto.core.PluginLoader loadPlugin
ALLVARLIG: Tools plugin jar:file:/C:/Users/Daniel/.m2/repository/org/apache/cxf/cxf-tools-wsdlto-core/3.2.4/cxf-tools-wsdlto-core-3.2.4.jar!/META-INF/tools-plugin.xml load failed

Любые идеи, которые могут быть причиной этого и как его исправить?

2 ответа

reta ответил: 13 мая 2018 в 06:09

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

 <plugin>
     <groupId>org.apache.cxf</groupId>
     <artifactId>cxf-codegen-plugin</artifactId>
     <version>3.2.4</version>
     <configuration>
         <additionalJvmArgs>--add-modules java.xml.bind,java.xml.ws</additionalJvmArgs>
         <fork>once</fork>
     </configuration>
 </plugin>

Кажется, это работает для Java 9/10, но, конечно, не собирается работать на Java 11.

Valentyn Kolesnikov ответил: 29 мая 2018 в 10:10

Я тестировал с Java 10:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>3.2.4</version>
    <configuration>
        <fork>true</fork>
        <additionalJvmArgs>--add-modules java.activation,java.xml.bind,java.xml.ws --add-exports=java.xml.bind/com.sun.xml.internal.bind.v2.runtime=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED --add-exports=java.xml.bind/com.sun.xml.internal.bind.marshaller=ALL-UNNAMED --add-opens java.xml.ws/javax.xml.ws.wsaddressing=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED</additionalJvmArgs>
    </configuration>
</plugin>

Мой исполняемый файл maven (windows):

set PATH=C:\Users\user\Documents\programs\jdk-10\bin;%PATH%
set JAVA_HOME=C:\Users\user\Documents\programs\jdk-10
set MAVEN_OPTS=--add-modules java.xml.bind
mvn clean install