Предупреждение о причале - один и тот же класс Java в нескольких местах

Я запускаю Shibboleth IDP с контейнером сервлетов Jetty 9.4.12, и каким-то образом Jetty предупреждает меня об этом:

07:55:31.629 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.Json scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/Json.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/Json.class
07:55:31.634 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonArray scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonArray.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonArray.class
07:55:31.634 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonArrayBuilder scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonArrayBuilder.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonArrayBuilder.class
07:55:31.634 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonBuilderFactory scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonBuilderFactory.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonBuilderFactory.class
07:55:31.634 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonException scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonException.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonException.class
07:55:31.635 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonNumber scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonNumber.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonNumber.class
07:55:31.635 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonObject scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonObject.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonObject.class
07:55:31.635 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonObjectBuilder scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonObjectBuilder.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonObjectBuilder.class
07:55:31.635 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonReader scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonReader.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonReader.class
07:55:31.637 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonReaderFactory scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonReaderFactory.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonReaderFactory.class
07:55:31.637 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonString scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonString.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonString.class
07:55:31.637 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonStructure scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonStructure.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonStructure.class
07:55:31.637 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonValue$1 scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonValue$1.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonValue$1.class
07:55:31.638 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonValue$2 scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonValue$2.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonValue$2.class
07:55:31.638 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonValue$3 scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonValue$3.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonValue$3.class
07:55:31.639 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonValue$ValueType scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonValue$ValueType.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonValue$ValueType.class
07:55:31.640 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonValue scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonValue.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonValue.class
07:55:31.640 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonWriter scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonWriter.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonWriter.class
07:55:31.640 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.JsonWriterFactory scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/JsonWriterFactory.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/JsonWriterFactory.class
07:55:31.641 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.spi.JsonProvider scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/spi/JsonProvider.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/spi/JsonProvider.class
07:55:31.641 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonGenerationException scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonGenerationException.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonGenerationException.class
07:55:31.641 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonGenerator scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonGenerator.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonGenerator.class
07:55:31.641 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonGeneratorFactory scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonGeneratorFactory.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonGeneratorFactory.class
07:55:31.642 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonLocation scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonLocation.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonLocation.class
07:55:31.642 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonParser$Event scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonParser$Event.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonParser$Event.class
07:55:31.642 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonParser scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonParser.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonParser.class
07:55:31.642 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonParserFactory scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonParserFactory.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonParserFactory.class
07:55:31.643 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] - javax.json.stream.JsonParsingException scanned from multiple locations: jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-1.0.4.jar!/javax/json/stream/JsonParsingException.class, jar:file:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json-api-1.0.jar!/javax/json/stream/JsonParsingException.class

Кажется, эти классы используются в javax.json-1.0.4.jar и javax.json-api-1.0.jar. Есть идеи, почему Джетти хочет их предупредить?


person Mikko Rusanen    schedule 08.10.2018    source источник


Ответы (1)


Сломанный.

  • 07:55:31.635 - WARN [org.eclipse.jetty.annotations.AnnotationParser:569] -
    • javax.json.JsonNumber scanned from multiple locations:
    • jar: файл:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json -1.0.4.jar!/javax/json/JsonNumber.класс,
    • jar: файл:///opt/ps/jetty/jetty-base/tmp/jetty-0.0.0.0-8080-idp.war-_idp-any-8184658660181054677.dir/webinf/WEB-INF/lib/javax.json -api-1.0.jar!/javax/json/JsonNumber.класс

Это предупреждение возникает во время сканирования байт-кода на наличие аннотаций запуска веб-приложения.

Существование нескольких версий одного и того же класса является источником ошибок и плохого поведения.

В вашем случае у вас есть 2 версии одного и того же класса, версия 1.0 и 1.0.4, как видно из имен файлов JAR.

Поскольку у ClassLoader нет ожиданий и требований к порядку загрузки файла JAR, возможно, что выполнение одного и того же файла WAR в разное время приведет к разному поведению.

Jetty не может определить, насколько серьезна проблема дублирующихся классов, решать вам. Jetty может выдавать это предупреждение только для общей поведенческой проблемы в веб-приложениях.

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

person Joakim Erdfelt    schedule 08.10.2018
comment
Хорошо, теперь я понял. Хорошее уточнение! Я думаю, что тогда безопасно игнорировать эти предупреждения. Консорциум Shibboleth, по-видимому, использует эти файлы .jar в своих библиотеках по умолчанию, поэтому этому должно быть какое-то объяснение. - person Mikko Rusanen; 09.10.2018