i'am updating my projekt to Java21 and SpringBoot3.x and i have to use to creating java-classes from WSDL a plugin 'io.mateo.cxf-codegen'. I'am following this UseGuide: https://ciscoo.github.io/cxf-codegen-gradle/docs/current/user-guide/#overview
My gradle.build:
import io.mateo.cxf.codegen.wsdl2java.Wsdl2Java
buildscript {
dependencies {
classpath 'javax.xml.ws:jaxws-api:2.3.1'
classpath 'javax.jws:javax.jws-api:1.1'
}
}
plugins {
id 'idea'
id 'java'
id 'jacoco'
id 'org.springframework.boot' version '2.7.18'
id 'io.spring.dependency-management' version '1.1.3'
id 'io.mateo.cxf-codegen' version '2.3.0'
}
apply plugin: 'java'
ext {
springBootVersion = '2.7.18'
springSecurityVersion = '5.7.8'
mapstructVersion = '1.4.2.Final'
lombokVersion = '1.18.24'
}
repositories {
mavenLocal()
}
configurations.all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
dependencies {
// fixes fuer twistlock-findings
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.13.4'
implementation(group: 'org.springframework.boot', name: 'spring-boot-starter-web') {
exclude(module: 'spring-boot-starter-tomcat')
}
implementation("org.springframework.boot:spring-boot-starter-web-services:${springBootVersion}") {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: springBootVersion
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: springBootVersion
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-jetty', version: springBootVersion
implementation group: 'org.springframework', name: 'spring-core', version: '5.3.32'
implementation group: 'org.springframework', name: 'spring-web', version: '5.3.32'
implementation group: 'org.apache.cxf', name: 'cxf-codegen-plugin', version: '4.0.3'
implementation group: 'org.jvnet.jaxb', name: 'jaxb-maven-plugin', version: '4.0.0'
// spring-security
implementation("org.springframework.boot:spring-boot-starter-security:${springBootVersion}") {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
implementation("org.springframework.security:spring-security-oauth2-jose:${springSecurityVersion}")
implementation("org.springframework.security:spring-security-oauth2-resource-server:${springSecurityVersion}")
// spring-data
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion
implementation group: 'org.postgresql', name: 'postgresql', version: '42.7.2'
implementation("org.apache.logging.log4j:log4j-api:2.13.3")
implementation group: 'net.logstash.logback', name: 'logstash-logback-encoder', version: '7.2'
implementation 'org.apache.commons:commons-lang3:3.12.0'
implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
implementation 'javax.servlet:javax.servlet-api:3.1.0'
implementation 'javax.transaction:javax.transaction-api:1.3'
// lombok
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
// mapstruct gradle >= 3.4 configuration
implementation "org.mapstruct:mapstruct:${mapstructVersion}"
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
implementation 'jakarta.xml.ws:jakarta.xml.ws-api:3.0.0'
implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
implementation 'jakarta.jws:jakarta.jws-api:3.0.0'
implementation 'org.springdoc:springdoc-openapi-ui:1.6.11'
implementation 'javax.xml.ws:jaxws-api:2.3.1'
implementation 'javax.jws:javax.jws-api:1.1'
}
cxfCodegen {
cxfVersion = "3.2.0"
}
tasks.register("generateJavaFromWsdl", Wsdl2Java){
toolOptions{
wsdl.set(file("$projectDir/src/wsdl/1_1.wsdl").toPath().toAbsolutePath().toString())
}
}
sourceCompatibility = '21'
I'am getting error for my created task:
Errors occurred while building effective model from C:\Users\user.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-xjc\2.2.11\4da3d39ae8ccc39549e3f8971f56035f61d7bf79\jaxb-xjc-2.2.11.pom: 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} in com.sun.xml.bind:jaxb-xjc:2.2.11 Errors occurred while building effective model from C:\Users\user.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-core\2.2.11\db0f76866c6b1e50084e03ee8cf9ce6b19becdb3\jaxb-core-2.2.11.pom: 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} in com.sun.xml.bind:jaxb-core:2.2.11 Errors occurred while building effective model from C:\Users\user.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-impl\2.2.11\2d4b554997fd01d1a2233b1529b22fc9ecc0cf5c\jaxb-impl-2.2.11.pom: 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} in com.sun.xml.bind:jaxb-impl:2.2.11 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.apache.cxf.tools.wsdlto.WSDLToJava.(WSDLToJava.java:48) at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:182) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 2 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
Execution failed for task ':generateJavaFromWsdl'.
Process 'command 'C:\Users\user\jdk-21.0.2\bin\java.exe'' finished with non-zero exit value 1
I've already added dependencies like that, but without success:
compile group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: '2.2.11' compile group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.2.11' compile group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.2.11
'