Я случайно получаю это исключение после повторной публикации проекта с JBoss 5.1. Я не могу понять причину, потому что мое приложение работает нормально, если я не переиздаю; когда я переиздаю его, иногда (не всегда) выдает эту ошибку:
org.apache.jasper.JasperException: javax.el.ELException: java.lang.IllegalStateException: BaseClassLoader@1c1902d{vfszip:/C:/.../eclipse/jboss-5.1.0.GA/server/default/deploy/MPH-EJB.jar/} classLoader is not connected to a domain (probably undeployed?) for class sun.reflect.MethodAccessorImpl
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
javax.el.ELException: java.lang.IllegalStateException: BaseClassLoader@1c1902d{vfszip:/C:/Users/Simone/Desktop/eclipse/jboss-5.1.0.GA/server/default/deploy/MPH-EJB.jar/} classLoader is not connected to a domain (probably undeployed?) for class sun.reflect.MethodAccessorImpl
javax.el.BeanELResolver.getValue(BeanELResolver.java:70)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
org.apache.el.parser.AstValue.getValue(AstValue.java:118)
org.apache.el.parser.AstEqual.getValue(AstEqual.java:37)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:925)
org.apache.jsp.Index_jsp._jspx_meth_c_005fwhen_005f1(Index_jsp.java:349)
org.apache.jsp.Index_jsp._jspx_meth_c_005fchoose_005f1(Index_jsp.java:315)
org.apache.jsp.Index_jsp._jspx_meth_c_005fotherwise_005f0(Index_jsp.java:258)
org.apache.jsp.Index_jsp._jspx_meth_c_005fchoose_005f0(Index_jsp.java:189)
org.apache.jsp.Index_jsp._jspService(Index_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
java.lang.IllegalStateException: BaseClassLoader@1c1902d{vfszip:/C:/.../eclipse/jboss-5.1.0.GA/server/default/deploy/MPH-EJB.jar/} classLoader is not connected to a domain (probably undeployed?) for class sun.reflect.MethodAccessorImpl
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:793)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
java.lang.ClassLoader.loadClass(Unknown Source)
sun.misc.Unsafe.defineClass(Native Method)
sun.reflect.ClassDefiner.defineClass(Unknown Source)
sun.reflect.MethodAccessorGenerator$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
sun.reflect.MethodAccessorGenerator.generate(Unknown Source)
sun.reflect.MethodAccessorGenerator.generateMethod(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
org.apache.el.parser.AstValue.getValue(AstValue.java:118)
org.apache.el.parser.AstEqual.getValue(AstEqual.java:37)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:925)
org.apache.jsp.Index_jsp._jspx_meth_c_005fwhen_005f1(Index_jsp.java:349)
org.apache.jsp.Index_jsp._jspx_meth_c_005fchoose_005f1(Index_jsp.java:315)
org.apache.jsp.Index_jsp._jspx_meth_c_005fotherwise_005f0(Index_jsp.java:258)
org.apache.jsp.Index_jsp._jspx_meth_c_005fchoose_005f0(Index_jsp.java:189)
org.apache.jsp.Index_jsp._jspService(Index_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Это Index.jps:
<%@ page import="supporto.LoginToken"%>
<%@ page import="supporto.TipoAccesso"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="AspettoPagine.css" type="text/css" />
<title>MPH - Index</title>
</head>
<body>
<c:if test="${! empty param}">
<jsp:forward page="/Errori/Errore404.jsp"/>
</c:if>
<c:set var="token" value="${sessionScope.LoginToken}"/>
<c:choose>
<c:when test="${empty token}">
<jsp:forward page="/Homes/HomeNonLoggato.jsp"/>
</c:when>
<c:otherwise>
<c:import url="accesso?to=home"/>
<c:choose>
<c:when test="${token.tipoAccesso eq 'STUDENTE'}">
<jsp:forward page="/Homes/HomeStudente.jsp"/>
</c:when>
<c:when test="${token.tipoAccesso eq 'DOCENTE'}">
<jsp:forward page="/Homes/HomeDocente.jsp"/>
</c:when>
<c:when test="${token.tipoAccesso eq 'ADMIN'}">
<jsp:forward page="/Homes/HomeAdmin.jsp"/>
</c:when>
</c:choose>
</c:otherwise>
</c:choose>
</body>
</html>
Строка <c:import url="accesso?to=home"/>
вызывает сервлет, который, в зависимости от объекта LoginToken, вызывает различные сессионные компоненты для подготовки объектов, которые мне нужны для отображения домашней страницы. Затем действие возвращается к Index.jps, который переходит на правую домашнюю страницу.
Если необходимо, я также опубликую оставшуюся часть кода (не публикуйте его сейчас, потому что я думаю, что он уже длинный).