Служба SOAP с начальной загрузкой, запущенная в докере, не находит класс ExtensibilityElement - PullRequest
0 голосов
/ 27 марта 2019

Я настраиваю сервис SOAP с использованием Spring-Boot и запускаю его в контейнере Docker.Когда я запускаю jar один, все работает нормально, но когда я пытаюсь запустить его в контейнере докера, он не инициализируется и выдает эту ошибку:

Failed to instantiate [org.springframework.ws.wsdl.wsdl11.Wsdl11Definition]: Factory method 'defaultWsdl11Definition' threw exception; 
nested exception is java.lang.NoClassDefFoundError: javax/wsdl/extensions/ExtensibilityElement

Я уже пробую разные образы, также создаю базовый докерimage и установите oracle jdk вручную.

Вы можете найти точный код здесь и попробовать самостоятельно.

Для запуска приложения:

gradle build
java -jar build/libs/service-0.0.1-SNAPSHOT.jar

Чтобы создать образ докера:

docker build -t soap:service --build-arg JAR_FILE=./build/libs/service-0.0.1-SNAPSHOT.jar .

Чтобы запустить образ докера:

docker run soap:service

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 28 марта 2019

Если кто-то хочет знать, проблема заключалась в том, что библиотека wsdl4j была настроена на compileOnly, и при изменении ее для компиляции библиотека была представлена ​​на последнем фляге.

Для получения дополнительной информации посетите https://community.liferay.com/blogs/-/blogs/gradle-compile-vs-compileonly-vs-compileinclude

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...