Проверка компонента в моем JBOSS JMX Agent View завершается с ошибкой

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

Переменные среды следующим образом...

PATH = C: \ Program Files \ Java \ jre8 \ bin; C: \ Users \ XXX \ AppData \ Roaming \ npm; C: \ Program Files (x86) \ Java \ jre7 \ bin; C: \ Program Files \ Java \ jre7 \ Bin;

JAVA_HOME = C: \ Program Files (x86) \ Java \ jdk1.8.0_05

JBossWeb/2.0.1.GA - Сообщение об ошибке 

HTTP Status 500 -

Тип отчета об исключении

сообщение

description Сервер обнаружил внутреннюю ошибку (), которая не позволила ему выполнить этот запрос.

исключение org.apache.jasper.JasperException: невозможно скомпилировать класс для JSP:

Произошла ошибка в строке: 151 в файле jsp: /inspectMBean.jsp Тип java.lang.CharSequence не может быть разрешен. На него косвенно ссылаются необходимые файлы.class 148: else if (String.valueOf (attrValue).indexOf (sep) == -1) 149: { 150:%> 151: "<% = только для чтения% >> 152: <% 153:} 154: еще

Произошла ошибка в строке: 151 в файле jsp: /inspectMBean.jsp Метод replace(char, char) в типе String не применим для аргументов (String, String) 148: else if (String.valueOf (attrValue).indexOf (sep) == -1) 149: { 150:%> 151: "<% = только для чтения% >> 152: <% 153:} 154: еще

Трассировки стека: org.apache.jasper.compiler.DefaultErrorHandler.javacError (DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError (ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass (JDTCompiler.java:415) org.apache.jasper.compiler.Compiler.compile (Compiler.java:308) org.apache.jasper.compiler.Compiler.compile (Compiler.java:286) org.apache.jasper.compiler.Compiler.compile (Compiler.java:273) org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:316) org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:265) javax.servlet.http.HttpServlet.service (HttpServlet.java:803) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.inspectMBean (HtmlAdaptorServlet.java:220) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest (HtmlAdaptorServlet.java:96) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doGet (HtmlAdaptorServlet.java:77) javax.servlet.http.HttpServlet.service (HttpServlet.java:690) javax.servlet.http.HttpServlet.service (HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter (ReplyHeaderFilter.java:96)

note Примечание Полная трассировка стека основной причины доступна в журналах JBossWeb/2.0.1.GA.

JBossWeb/2.0.1.GA

3 ответа

Решение

Это работало в jboss-4.2.3.GA: в файле

/server/{xxx}/deploy/jmx-console.war/inspectMBean.jsp

заменить пострадавших

replace("\"","&quot;")

с

replaceAll("\"","&quot;")

Произошло то же самое.

Оказывается, я пропустил inspectMbean_jsp.class в папке dcm4chee-2.17.2-psql\server\default\work\jboss.web\localhost\jmx-console\org\apache\jsp.

Не уверен, почему его там нет

Я думаю, что более изящным решением было бы обеспечить compilerSourceVM а также compilerTargetVM установлены в 1.5 или выше в jboss/server/default/deploy/jboss-web.deployer/conf/web.xml как в Как изменить компилятор Tomcat.

Также JDK 1.5 или выше должен присутствовать и быть видимым вместо JDK 1.4 по умолчанию, который не понимает метод String.replace со строковыми параметрами.

Другие вопросы по тегам