Проверка компонента в моем 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("\"",""")
с
replaceAll("\"",""")
Произошло то же самое.
Оказывается, я пропустил 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 со строковыми параметрами.