9

我无法在 JMX 代理视图中检查我的任何 bean,因为单击任何 bean 都会导致下面粘贴的错误。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 状态 500 -

类型异常报告

信息

描述服务器遇到一个内部错误 () 阻止它完成这个请求。

异常org.apache.jasper.JasperException:无法为 JSP 编译类:

在 jsp 文件中的第 151 行发生错误:/inspectMBean.jsp java.lang.CharSequence 类型无法解析。它是从所需的 .class 文件中间接引用的 148:否则如果(String.valueOf(attrValue).indexOf(sep)== -1) 149:{ 150:%> 151: <input type="text" name="<%= attrName %>" value="<%= attrValue.replace("\"",""") %>" <%= readonly %>> 152: <% 153:} 154:否则

在 jsp 文件中的第 151 行发生错误:/inspectMBean.jsp String 类型中的方法 replace(char, char) 不适用于参数 (String, String) 148:否则如果(String.valueOf(attrValue).indexOf(sep)== -1) 149:{ 150:%> 151: <input type="text" name="<%= attrName %>" value="<%= attrValue.replace("\"",""") %>" <%= readonly %>> 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

4

3 回答 3

12

这在 jboss-4.2.3.GA 中有效:在文件中

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

更换受影响的

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

replaceAll("\"","&quot;")
于 2015-12-10T16:14:32.567 回答
1

发生了同样的事情。

原来我在dcm4chee -2.17.2-psql\server\default\work\jboss.web\localhost\jmx-console\org\apache\jsp文件夹中丢失了 inspectMbean_jsp.class。

不知道为什么它不存在

于 2014-05-12T18:52:47.440 回答
1

我认为更优雅的解决方案是确保两者compilerSourceVMcompilerTargetVM都设置为或1.5高于如何更改 tomcat 编译器jboss/server/default/deploy/jboss-web.deployer/conf/web.xml

JDK 1.5 或更高版本也应该存在且可见,而不是默认的 JDK 1.4,后者不理解String.replace方法和字符串参数。

于 2016-12-15T10:01:32.097 回答