Приложение Openshift Kubernetes не запускается на сервере Jetty: java.net.Исключение URISyntaxException: Ожидаемый авторитет по индексу 7

#kubernetes #openshift #jetty

Вопрос:

У меня есть приложение, запущенное на сервере Jetty, инкапсулированном в контейнер Docker. Один и тот же контейнер развертывается и корректно работает в локальной среде docker.

При развертывании контейнера на OpenShift Kubernetes возникают ошибки Jetty с :

 2021-11-13 18:07:01.667:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.q.QuickStartWebApp@39c0f4a{/,file:///opt/application/webapps/application/,UNAVAILABLE}{/application/} java.lang.reflect.InvocationTargetException  Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected authority at index 7: file://  at org.eclipse.jetty.quickstart.AttributeNormalizer.toCanonicalURI(AttributeNormalizer.java:93)  at org.eclipse.jetty.quickstart.AttributeNormalizer.add(AttributeNormalizer.java:208)  

Я понимаю, что ошибка связана с URI, который может быть неправильно отформатирован, но я изо всех сил пытаюсь понять, где он настроен, учитывая, что он работает в локальной среде докеров.

Любые предложения о том, как это отладить, очень приветствуются.

Ответ №1:

Похоже, у вас неполный uri файла.

 file://  

Это не создает допустимый URI на Java.

 $ jshell | Welcome to JShell -- Version 11.0.12 | For an introduction type: /help intro  jshellgt; new URI("file://") | Exception java.net.URISyntaxException: Expected authority at index 7: file:// | at URI$Parser.fail (URI.java:2913) | at URI$Parser.failExpecting (URI.java:2919) | at URI$Parser.parseHierarchical (URI.java:3163) | at URI$Parser.parse (URI.java:3114) | at URI.lt;initgt; (URI.java:600) | at (#1:1)  

Большая часть трассировки стека помогла бы определить, откуда это берется.