javax.servlet.UnavailableException après une mise à niveau ÉTAIT de 7
J'ai migré mon application à partir de 6 à 7. Le code ne donne pas d'erreur de compilation ou de manquer quelque chose, mais quand j'essaye d'exécuter l'application, je reçois de l'exception suivante.
[9/19/12 9:45:37:609 EDT] 00000009 extension W com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor createServletWrapper Servlet action is currently unavailable: SRVE0203E: Servlet [action]: com.ibm.services.tools.citrus.ctl.ActionServlet was found, but is missing another required class.
SRVE0206E: This error typically implies that the servlet was originally compiled with classes which cannot be located by the server.
Donc j'ai vérifié le ffdc exception de trace et j'ai trouvé la suite d'une exception. J'ai inclure tous les jar qui étaient visés par l'ancienne configuration.
[9/19/12 9:26:53:328 EDT] FFDC Exception:javax.servlet.UnavailableException SourceId:com.ibm.ws.webcontainer.webapp.WebApp.handleError ProbeId:912 Reporter:com.ibm.ws.webcontainer.webapp.WebAppImpl@475c475c
javax.servlet.UnavailableException: SRVE0203E: Servlet [action]: com.ibm.services.tools.citrus.ctl.ActionServlet was found, but is missing another required class.
SRVE0206E: This error typically implies that the servlet was originally compiled with classes which cannot be located by the server.
SRVE0187E: Check your class path to ensure that all classes required by the servlet are present.SRVE0210I: This problem can be debugged by recompiling the servlet using only the classes in the application's runtime class path
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:534)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:354)
at com.ibm.ws.webcontainer.webapp.WebApp.sendError(WebApp.java:3369)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3968)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
Et je veux comprendre ce qui est la moyenne de ce problème peut être réglé par la recompilation de la servlet utilisant uniquement les classes dans l'exécution de l'application de chemin de classe.
OriginalL'auteur Mike | 2012-09-19
Vous devez vous connecter pour publier un commentaire.
L'erreur indique que votre servlet est l'importation ou de l'est par ailleurs dépendante sur les classes qui ne sont plus disponibles après la mise à niveau. Étant donné que l'exception n'est pas le nom de la classe qui est manquant, ÉTAIT suggère que vous compilez votre application contre les a ÉTÉ de 7 bibliothèques. Si vous faites cela, le compilateur va vous dire qui dépendant de la classe est manquant. Vous êtes probablement à la compilation de contre les a ÉTÉ de 6, ou de certains autres bibliothèques, ce qui est pourquoi l'erreur est retardée jusqu'à l'exécution.
OriginalL'auteur Alexander Torstling
Suivant peut être raison pour le même problème.
Résolu: Lors de la suppression de version supérieur du pot.
OriginalL'auteur Hridesh
Suivi les étapes ci-dessous qui a résolu le problème:
1.Relevé JRE et le serveur de versions de java 8. j'.e, La version sous Window -> Préférences -> Java -> Installé Jre version et de l'environnement d'exécution du serveur doit être la même.
2.Puis reconstruit les oreilles, réaffecté ces oreilles sur le serveur, après cela, je suis en mesure d'exécuter l'application
OriginalL'auteur Madhu