0

次のプラグインの呼び出しは失敗し続けます:

            <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...

次の 2 つの警告があります。

 [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
4

1 に答える 1

0

試行錯誤を繰り返した結果、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 ...
于 2020-07-11T00:20:03.220 に答える