Encontré el problema de tener el mismo .jar (para mi caso, el-api.jar v2.1) dos veces para un proyecto, por lo tanto, la siguiente pila de errores cuando intento ejecutar mi proyecto usando Tomcat 6.violación de restricción de cargador
WARNING: Unexpected error forwarding to login page
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
he encontrado la http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/
pero eso no es útil ya que los efectos de la solución demasiadas partes de mi proyecto.
No puedo hacer ningún cambio en el Tomcat y el proyecto será utilizado por muchos otros usuarios.
La solución actual es eliminar manuelly el-api.jar cada vez que hacemos una compilación Y utiliza Tomcat6. Entonces tenemos que volver a poner el .jar como se solicita para otras cosas.
Me utilizan Maven 2 y Maven 3 para construir. (Por cierto, ¿alguien sabe sobre el uso de Maven3 en Jruby?)
¿Alguien me puede ayudar con el problema?
Disculpe la ambigüedad, para resolver el problema, creo que se necesita una forma de asegurarse de que Tomcat 6 obtenga una sola el-api.jar no las dos. La restricción será: - \t Ningún cambio en Tomcat 6 - \t Una larga - \t La solución se puede integrar de forma continua en la construcción – Javabeginner