I’m creating a spring boot project with API soap and I’m using two dependencies that have a duplication conflict with each other.
Error log message:
Execution failed for task ‘:war’.
Entry WEB-INF/lib/jaxb-core-4.0.5.jar is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/8.8/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
I use these dependencies:
implementation 'com.sun.xml.ws:jaxws-ri:2.3.3'
implementation 'javax.xml.ws:jaxws-api:2.3.1'
This is my build.gradle file:
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.3.1'
id 'io.spring.dependency-management' version '1.1.5'
}
group = 'eu.tecnosoft'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
task run(type: JavaExec) {
main = 'eu.tecnosoft.licensemanager.LicensemanagerApplication'
classpath = sourceSets.main.runtimeClasspath
}
repositories {
mavenCentral()
}
apply plugin: 'war'
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'org.json:json:20211205'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.3'
implementation group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: '1.78.1'
implementation 'org.springframework.boot:spring-boot-starter-security'
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web-services', version: '3.3.3'
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
implementation group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
implementation group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
implementation group: 'wsdl4j', name: 'wsdl4j', version: '1.6.2'
implementation 'com.sun.xml.ws:jaxws-ri:2.3.3'
implementation 'javax.xml.ws:jaxws-api:2.3.1'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
bootWar {
archiveFileName = 'licensemanager.war'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
I expect to solve the problem by continuing to use both.
24