I am trying to upgrade to java 17 and spring 6.1.8 and use exec-maven-plugin to call cxf WSDLToJava tool from maven pom.xml with my wsdl file, but I got the following error from mvn command:
mvn -f pom2.xml generate-sources -X
or mvn -f pom2.xml exec:java -X
In the log message it is showing the org.apache.cxf:cxf-rt-frontend-jaxws:jar:4.0.2 is added to the classpath:
[DEBUG] Collected project artifacts [org.apache.cxf:cxf-rt-frontend-jaxws:jar:4.0.2:compile, org.codehaus.plexus:plexus-compiler-api:jar:2.15.0:compile, jakarta.xml.ws:jakarta.xml.ws-api:jar:4.0.2:compile, com.sun.xml.ws:jaxws-rt:jar:4.0.2:compile, org.apache.cxf:cxf-tools-wsdlto-core:jar:4.0.2:compile, org.apache.cxf:cxf-tools-validator:jar:4.0.2:compile, org.apache.cxf:cxf-tools-common:jar:4.0.2:compile, org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile, org.apache.cxf:cxf-core:jar:4.0.2:compile, org.apache.cxf.xjc-utils:cxf-xjc-runtime:jar:4.0.2:compile, org.apache.cxf:cxf-rt-wsdl:jar:4.0.2:compile, org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:jar:4.0.2:compile, org.codehaus.plexus:plexus-utils:jar:4.0.2:compile, jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:compile, org.glassfish.jaxb:jaxb-runtime:jar:4.0.2:compile, org.glassfish.jaxb:jaxb-core:jar:4.0.2:compile, com.sun.istack:istack-commons-runtime:jar:4.2.0:compile, com.fasterxml.woodstox:woodstox-core:jar:6.5.1:compile, org.codehaus.woodstox:stax2-api:jar:4.2.1:compile, jakarta.activation:jakarta.activation-api:jar:2.1.3:compile, org.apache.commons:commons-lang3:jar:3.12.0:compile, org.codehaus.plexus:plexus-archiver:jar:4.8.0:compile, org.codehaus.plexus:plexus-io:jar:3.5.1:compile, org.apache.commons:commons-compress:jar:1.27.1:compile, commons-io:commons-io:jar:2.18.0:compile]
[DEBUG] Collected project classpath [/home/testuser/project/test-ws/target/classes]
[DEBUG] Adding to classpath : /home/testuser/project/test-ws/target/classes
[DEBUG] Adding project dependency artifact: cxf-rt-frontend-jaxws to classpath
[DEBUG] Adding project dependency artifact: plexus-compiler-api to classpath
[DEBUG] Adding project dependency artifact: jakarta.xml.ws-api to classpath
[DEBUG] Adding project dependency artifact: jaxws-rt to classpath
[DEBUG] Adding project dependency artifact: cxf-tools-wsdlto-core to classpath
[DEBUG] Adding project dependency artifact: cxf-tools-validator to classpath
[DEBUG] Adding project dependency artifact: cxf-tools-common to classpath
[DEBUG] Adding project dependency artifact: plexus-build-api to classpath
[DEBUG] Adding project dependency artifact: cxf-core to classpath
[DEBUG] Adding project dependency artifact: cxf-xjc-runtime to classpath
[DEBUG] Adding project dependency artifact: cxf-rt-wsdl to classpath
[DEBUG] Adding project dependency artifact: cxf-tools-wsdlto-databinding-jaxb to classpath
[DEBUG] Adding project dependency artifact: plexus-utils to classpath
[DEBUG] Adding project dependency artifact: jakarta.xml.bind-api to classpath
[DEBUG] Adding project dependency artifact: jaxb-runtime to classpath
[DEBUG] Adding project dependency artifact: jaxb-core to classpath
[DEBUG] Adding project dependency artifact: istack-commons-runtime to classpath
[DEBUG] Adding project dependency artifact: woodstox-core to classpath
[DEBUG] Adding project dependency artifact: stax2-api to classpath
[DEBUG] Adding project dependency artifact: jakarta.activation-api to classpath
[DEBUG] Adding project dependency artifact: commons-lang3 to classpath
[DEBUG] Adding project dependency artifact: plexus-archiver to classpath
[DEBUG] Adding project dependency artifact: plexus-io to classpath
[DEBUG] Adding project dependency artifact: commons-compress to classpath
[DEBUG] Adding project dependency artifact: commons-io to classpath
[DEBUG] joining on thread
Thread[org.apache.cxf.tools.wsdlto.WSDLToJava.main(),5,org.apache.cxf.tools.wsdlto.WSDLToJava]
WSDLToJava Error: Could not find jaxws frontend within classpath
My pom2.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Test</name>
<groupId>test</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>test-ws</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>4.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-api</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>4.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-tools-wsdlto-core</artifactId>
<version>4.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-tools-validator</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-tools-common</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
<version>0.0.7</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf.xjc-utils</groupId>
<artifactId>cxf-xjc-runtime</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-wsdl</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-tools-wsdlto-databinding-jaxb</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>com.sun.istack</groupId>
<artifactId>istack-commons-runtime</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>6.5.1</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.27.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.18.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<compilerId>javac</compilerId>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-wsdl</id>
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/schema</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.apache.cxf.tools.wsdlto.WSDLToJava</mainClass>
<arguments>
<argument>-wsdlLocation</argument>
<argument>{project.basedir}/target/classes/wsdl/test.wsdl</argument>
<argument>-frontend</argument>
<argument>jaxws</argument>
<argument>-d</argument>
<argument>{project.basedir}/target/generated/cxf</argument>
</arguments>
<classpathScope>compile</classpathScope>
</configuration>
</plugin>
</plugins>
</build>
Tried to configure the -frontend to jaxws21, jaxws22, jaxws23, but got the same error message.
Also tried to use the cxf-codegen-plugin:
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>4.0.2</version>
But got the similar error message:
Loading FrontEnd jaxws ...
[WARNING] Exception in thread "main" org.apache.cxf.tools.common.ToolException: Could not find jaxws frontend within classpath
[WARNING] at org.apache.cxf.tools.wsdlto.core.PluginLoader.getFrontEnd(PluginLoader.java:246)
[WARNING] at org.apache.cxf.tools.wsdlto.core.PluginLoader.getFrontEndProfile(PluginLoader.java:381)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.loadFrontEnd(WSDLToJava.java:64)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:96)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
[WARNING] at org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51)