Почему плагин maven cxf-codegen не может выполнить цель wsdl2 java в OpenJDK 10? (ОТВЕТИЛ) - PullRequest
0 голосов
/ 11 июля 2020

Следующий вызов плагина продолжает терпеть неудачу:

            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>${cxf.version}</version>
                <executions>
                    <execution>
                        <id>generate-resources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/emailIRN.wsdl</wsdl>
                                    <extraargs>
                                        <extraarg>-fe</extraarg>
                                        <extraarg>jaxws21</extraarg>
                                        <extraarg>-verbose</extraarg>
                                    </extraargs>
                                </wsdlOption>
... more wsdlOption blocks...

Есть два предупреждения:

 [WARNING] Error: Could not find or load main class org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java
 [WARNING] Caused by: java.lang.ClassNotFoundException: org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java

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

/usr/lib/jvm/java-10-openjdk-amd64/bin/java --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-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 -jar /tmp/cxf-tmp-975998357168064227/cxf-codegen15218503234725715130.jar /tmp/cxf-tmp-975998357168064227/cxf-w2j6542191939703642136args

1 Ответ

0 голосов
/ 11 июля 2020

После долгих проб и ошибок я понял, что проблема с OpenJDK 10, JEE API не определена. Это приводит к незаметному сбою плагина (независимо от того, какие параметры отладки указаны).

Я также изменил плагин на более старую версию, так как более новая, похоже, не удовлетворяет JEE 7 API.

                <version>3.2.0</version>

Мне удалось решить эту проблему, добавив зависимость javaee-api следующим образом:

            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>3.2.0</version>
                <dependencies>
                    <dependency>
                        <groupId>javax</groupId>
                        <artifactId>javaee-api</artifactId>
                        <version>7.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>generate-resources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/emailIRN.wsdl</wsdl>
                                    <extraargs>
                                        <extraarg>-fe</extraarg>
                                        <extraarg>jaxws21</extraarg>
                                        <extraarg>-verbose</extraarg>
                                    </extraargs>
                                </wsdlOption>
    ... more wsldOption blocks ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...