2016-08-01 5 views
3

У меня есть программа на Java, используя VertX 2, и когда я запускаю его, я получаю сообщение:Как узнать, какой класс печатает ошибку?

% vertx run -cluster com.abc.prep.manager.PrepStartup -cp ./build/libs/Operational-all-1.0.jar -conf safe.conf 
Starting clustering... 
No cluster-host specified so using address 172.17.0.1 
[Fatal Error] :6:3: The element type "hr" must be terminated by the matching end-tag "</hr>". 
Prep Starting up! 
Succeeded in deploying verticle 

Я не могу понять, где что "[Fatal Error] сообщение приходит от. Если кто-то знает, что делает vertx (так как я думаю, что это происходит оттуда), это было бы здорово.

Но мой реальный вопрос: как узнать, кто его печатает? Какой класс в какой банке? Кажется, я не могу установить точку останова в System.out или System.err, которая ее ловит (я использую Intellij). Могу ли я переопределить (все) вывод так, чтобы он печатал стек?

+0

Похоже, вы отправили сообщение, а ответ не был xml. Это произойдет, если у вас есть система безопасности, которая перехватывает запросы и автоматически перенаправляет их на страницу входа. Пример IBM TAM. – DwB

ответ

1

Как вы узнаете, кто его печатает? Я не могу говорить о специфике Vertx 2, но мне пришлось отслеживать множество загадочных ошибок. Это моя общая схема, применимая, насколько это возможно, к вашей:

  1. Получите представление о том, что такое ошибка. Google - статические (будут одинаковыми для кого-либо) элементы в сообщении об ошибке. Здесь это может быть «должно быть завершено соответствующим конечным тегом». Добавление «vertx» к запросу дало мне некоторые ссылки, но я не видел мгновенных ответов. Я выяснил, что это, вероятно, исключение XMLStreamException. На этом вы могли бы остановиться.
  2. Предполагая, что это не сработало, выполните поиск в базе кода по тексту, ищите тот же статический текст. Вооружившись знаниями вашего расследования Google, вы сможете сузить любые результаты до контролируемого количества, которое нужно проверить.
  3. Если ваш поиск не находит ничего, убедитесь, что у вас есть исходные файлы, прикрепленные для всего, что есть в вашем модуле, для получения исходных файлов. Затем повторите шаг 2.
  4. После того, как вы нашли код, который выдает ошибку, вы должны установить точку останова.
+0

Хорошо, я сузил его. Похоже, что это XMLStreamException; однако


не находится ни в одном коде или в xml (в шахте или в баночках). По-видимому, это связано с ссылкой схемы в одном из xml-файлов в одной из банок, которые не разрешаются, в результате чего возвращается сообщение об ошибке. Спасибо за помощь. –

+1

И похоже, что есть призыв к карибу. Wireshark говорит мне, что есть http-вызов: http://hazelcast.com/version.jsp?version=3.2.3. Ответ имеет «301 Moved Permanentently», и там он имеет:


nginx
\ r \ n, которому не хватает метки. –

+1

в зависимости от того, что вы настраиваете с помощью орешника, и насколько вы уверены, что находитесь в своем управлении версиями, вы можете установить для параметра hazelcast.version.check.enabled значение false. Я считаю, что это остановит проверки. (Https://groups.google.com/forum/#!topic/hazelcast/9jKfh6-vLbQ). Кроме того, я думаю, что вызов должен быть указан по этому URL-адресу http://versioncheck.hazelcast.com/version.jsp?version=3.2.3 – Jeutnarg

Смежные вопросы