Мы переходим с Java 8 на 11 в проекте, использующем jaxb. Поскольку он был удален из JDK, он должен быть включен отдельно, что я сделал через конфигурацию Gradle:
compile("javax.xml.bind:jaxb-api:2.2.11")
compile("com.sun.xml.bind:jaxb-core:2.2.11")
compile("com.sun.xml.bind:jaxb-impl:2.2.11")
Я могу запустить проект, однако gradle-задание compileJava выдает ошибки:
Errors occurred while build effective model from C:\Users\.\.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 build effective model from C:\Users\.\.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
Работа завершается, и создается jar-файл, однако при запуске на рабочем сервере он останавливается с этой ошибкой:
java.lang.NoClassDefFoundError: javax/xml/bind/Unmarshaller$Listener
Я использую Spring Boot v1.5.6 и gradle 4.80,1