36 votes

"PWC6345: il y a une erreur lors de l'appel de javac." erreur lors de l'utilisation du plug-in Jetty WTP pour déployer une page JSP sur Jetty

Je suis en train de déployer une JSP-page sur la Jetée, à l'aide de la Jetée WTP plugin pour Eclipse. Mais je reçois le message d'erreur ci-dessous. Il ressemble à la Jetée ne pouvez pas trouver javac. Il y a tout les paramètres que j'ai à faire pour la Jetée WTP plugin dans Eclipse ou comment puis-je résoudre ce problème?

La page JSP fonctionne très bien si je exporter mon projet en tant que .war-fichier jetty\webapps puis départ de la Jetée manuellement à l'aide d' java -jar start.jar. Mais il ne fonctionne pas si je déployer à l'aide de la Jetée WTP plugin pour Eclipse comme décrit.

J'ai mon JAVA_HOME ensemble de C:\Program Files (x86)\Java\jdk1.7.0_01 et j'utilise de la Jetée 8.0.4 sur Windows 7.

Les Servlets fonctionne bien avec la configuration actuelle. Toutes les suggestions sur comment résoudre ce problème pour les pages JSP?

HTTP ERROR 500
Problem accessing /MyJavaWeb/formProcess. Reason: 

    PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required

Caused by:
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:92)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:378)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:119)
    at org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:208)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:384)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:558)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:488)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:973)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:907)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
    at com.example.FormProcessServlet.doPost(FormProcessServlet.java:39)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:558)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:488)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:483)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:973)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:907)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
    at org.eclipse.jetty.server.Server.handle(Server.java:346)
    at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
    at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:941)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
    at java.lang.Thread.run(Unknown Source)

41voto

Jonas Points 22309

Comme l'a suggéré Jan Bartel, de Jetty: Comment configurer JSP :

en ajoutant la ligne ci-dessous dans le fichier start.ini dans Eclipse, cela fonctionne très bien.

 -Dorg.apache.jasper.compiler.disablejsr199=true
 

entrez la description de l'image ici

25voto

Abdull Points 1666

J'ai trop passé soudainement l' org.apache.jasper.JasperException: PWC6345 avec mon Eclipse installation et le Plugin Maven Jetty (que j'utilise pour le démarrage de la Jetée de l'intérieur de l'Éclipse).

La raison en est que j'ai mis à jour mon installation de JDK peu de temps avant. À l'intérieur de l'Éclipse, cela a provoqué de changer le "Installé JRE", pour faire une simple installation JRE au lieu d'une véritable installation du JDK. Une installation du JDK est requis pour Jasper, que Jasper besoins en javac (ce qui n'est pas fourni par le JRE).

Dans mon cas, la solution était de fournir Eclipse avec l'installation du JDK. Pour ce faire, sélectionnez Fenêtre> Préférences -> Java -> Installé Jre. Ici, cliquez sur Ajouter..., puis pointez sur votre installation de JDK (dans mon cas, JRE à la maison doivent pointer vers l' C:\Program Files (x86)\Java\jdk1.7.0_17). Cliquez Sur Terminer. Puis de retour dans la Installé Jre aperçu, supprimer l'ancien JRE de référence et sélectionnez la nouvelle installation du JDK.

5voto

Peter Lamberg Points 1091

J'ai eu l'erreur PWC6345 lors de l'exécution d'une application Web avec le plug-in Run-Jetty-Run.

Le correctif consistait à modifier les paramètres des environnements d'exécution dans les préférences. Étant donné que j'utilise java 7, j'ai dû modifier le paramètre pour JavaSE-1.7. D'autres environnements d'exécution se comporteront probablement de la même manière.

Fenêtre -> Préférences -> Java -> JRE installés -> Environnements d'exécution

Sélectionnez JavaSE-1.7 sur la gauche -> choisissez le * jdk * 1.7.x_xx sur le côté droit

4voto

ydntn Points 184

Ok, résolu après beaucoup de recherche autour de.

Télécharger toute jdk et JAVA_HOME pour ce jdk. À l'intérieur de ce dossier jdk, vous trouverez ./bin et ./jre/bin Copiez le javac à partir de ./bin et le coller dans ./jre/bin [n'oubliez pas exemplaire non coupé]

Maintenant, dans eclipse, Exécuter->Externe-Outils->Externe-Outils-Configuration, sélectionnez l'build.xml pour de votre projet dans le volet de gauche et cliquez sur le JRE onglet dans le volet de droite. Cliquez sur installé Jre et ajouter le jdk dans l'étape précédente. Une fois cela fait, sélectionnez ce nouveau JRE (jdk1.6.0_31) comme "à part JRE', cliquez sur appliquer au bas et à l'exécuter.

Cela suppose que vous faites une jetty:run en utilisant ant sur eclipse.

3voto

VonC Points 414372

Étrange, parce que ce fil suggère:

La solution a été d' installer le paquet jdk7-openjdk.
Peut-être cela devrait être ajouté à la liste des dépendances (ou peut-être de la jetée, et pas solr lui-même)?

Mais cela n'aide pas beaucoup sur Windows, où le binaire pour openjdk7 ne sont pas facilement disponibles.
(Dans "OpenJDK disponibilité pour Windows OS" commentaires, eckes mentionne avoir trouvé quelques openjdk binaires pour Windows, dans le cadre de la Construire b146. Cependant, ces rejets ne sont pas plus maintenue)

Le rapport de bug rempli par les OP Jonas est fermé avec une simple référence à l' Éclipse de la page wiki "Jetty/Howto/Configurer JSP".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X