2012-03-26 4 views
1

Auf meinem lokalen System verwende ich Glassfish Server 3.0. Ich habe alle Server-Jar-Datei von Glassfish3 auf meinem tatsächlichen Server, der Tomcat6 hat enthalten. Die nun folgende Ausnahmen zeigen:Tomcat 6 Wird nach dem Einschließen von Glassfish angezeigt 3 severs jar file in tomcat

HTTP Status 500 - 

-------------------------------------------------------------------------------- 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: /pages/login.jsp(178,36) The s:form tag declares that it accepts dynamic attributes but does not implement the required interface 
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) 
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) 
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) 
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:775) 
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507) 
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338) 
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388) 
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394) 
org.apache.jasper.compiler.Node$Root.accept(Node.java:489) 
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338) 
org.apache.jasper.compiler.Validator.validate(Validator.java:1737) 
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306) 
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:317) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88) 

Wie dieses Problem lösen. Während WAR-Datei bereitstellen i folgende JAR-Datei in meinem Krieg Datei enthalten habe (von glashfish Server)

bean-validator.jar 
commons-fileupload-1.2.1.jar 
commons-io-1.3.2.jar 
commons-logging-1.0.4.jar 
freemarker-2.3.15.jar 
javax.annotation.jar 
jaxr-api-osgi.jar 
jaxpc-api-osgi.jar 
jsf-api.jar 
jsf-impl.jar 
jstl-impl.jar 
mysql-connector-java-5.1.14-bin.jar 
ongl-2.7.3.jar 
struts2-core-2.1.8.1.jar 
struts2-jquery-plugin-1.8.3.jar 
webservices-api-osgi.jar 
weld-osgi-bundle.jar 
xwork-core-2.1.6.jar 
javax.ejb.jar 
javax.enterprise.deploy.jar 
javax.jms.jar 
javax.mail.jar 
javax.management.j2ee.jar 
javax.persistence.jar 
javac.resource.jar 
javax.security.auth.message.jar 
javax.security.jacc.jar 
javax.servlet.jar 
javax.servlet.jsp.jar 
javax.servlet.jsp.jstl.jar 
javax.transaction.jar 
+1

Können Sie Ihre login.jsp-Datei anzeigen und was für alle Klassen haben Sie in Ihrem Klassenpfad? –

+0

Hallo @UmeshAwasthi Ich habe meine JAR-Dateiliste hinzugefügt. Bitte sagen Sie mir, welche JAR-Dateien ich entfernen soll. Ich möchte auch wissen, wie man Jar-Dateien vermeidet, während man Krieg schafft. Login.jsp hat nur Login-ID und Passwort-Feld – xrcwrn

+0

Bitte stellen Sie sicher, dass Sie die gleiche Version von Gläsern aus der gleichen Distribution haben, scheint, verwenden Sie verschiedene Gläser aus verschiedenen Distributionen –

Antwort

0

Idealerweise sollten unsere Enterprise-Anwendungen von jedem Server unabhängig sein, die wir verwenden. Daher haben alle Server einen lib-Ordner, in dem Sie bestimmte JARs, die in dieser Umgebung benötigt werden, ablegen können.

Ich würde Ihnen empfehlen, die Glassfish JARS aus Ihrem Projekt zu entfernen und sie in die libh-Bibliothek Ihres lokalen Glasshfish-Servers zu stellen (falls sie nicht schon da sind). Alternativ können Sie die JARs in einem anderen Ordner platzieren und diesen Ordner zum Klassenpfad hinzufügen.

Nach dem Stacktrace von Ihnen gibt es einen Konflikt in den JARs ... Da Sie Tomcat und Glassfish, beide Gläser auf Ihrem tatsächlichen Server, wenn es lädt die Anwendung lädt Tag-Klassen von falschen JAR für die Taglib es ist Kommissionierung. Daher wird empfohlen, nur eine JAR zu verwenden.