2017-01-15 2 views
0

Ceci est pour GWT et Google App 2.7.0 Engine 1.9.34Lancement en mode GWT dev dans Eclipse débogueur

J'ai une application GWT qui fonctionne très bien lancer l'application en utilisant le mode Super Dev dans un script de compilation ANT de l'intérieur Éclipse. Telle est la tâche ANT:

<target name="hosted" depends="javac" description="Run hosted mode"> 
<java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode"> 
    <classpath> 
    <pathelement location="${src.dir}"/> 
    <path refid="project.class.path"/> 
    </classpath> 
    <jvmarg value="-Xmx1536M"/> 
    <arg value="-startupUrl"/> 
    <arg value="eDaptiv.html"/> 
    <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> 
    <arg value="${entrypoint.class}"/> 
</java> 

Le débogueur en mode Dev vient et l'enregistrement est dirigé vers la console au sein d'Eclipse. Lorsque j'essaie d'exécuter l'application à l'aide de la commande Exécuter -> Déboguer à l'aide de la configuration d'exécution de Google Web App, j'obtiens l'erreur indiquée ci-dessous. Je suis conscient que Google App-engine ne prend pas en charge JDBC mais ne comprend pas pourquoi il semble fonctionner lors de l'utilisation du script de génération ANT à lancer. Je suppose que d'une manière ou d'une autre j'ai besoin de configurer Google Web App pour ne pas utiliser le moteur de l'application, mais ne semble pas trouver un moyen de le désactiver.

=== 15/01/2017 17: 09: 56511 [70-0] ERREUR ScreenLoaderServlet - screenLoader - exception haut niveau com.isomorphic.servlet.ScreenLoaderServlet java.lang.NoClassDefFoundError: java.lang.management .ManagementFactory est une classe restreinte. Consultez le guide du développeur Google App Engine pour plus de détails. à com.google.appengine.tools.development.agent.runtime.Runtime.reject (Runtime.java:52) à com.isomorphic.util.IOUtil._threadSafeTmpFileName (IOUtil.java:321) à com.isomorphic. util.IOUtil.threadSafeTmpFileName (IOUtil.java:311) à com.isomorphic.sql.SQLDriver. (SQLDriver.java:2281) à java.lang.Class.forName0 (méthode native) à java.lang.Class. forName (Class.java:259) at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted (RuntimeHelper.java:70) à l'adresse com.google.appengine.tools.development.agent.runtime. Runtime.checkRestricted (Runtime.java:65) à com.isomorphic.sql.SQLDataSource.init (SQLDataSource.java:309)

Répondre

0

Il semble que la simple publication de la question a mené mes pensées à la réponse .... Dans Eclipse Neon, il n'y a pas de case à cocher pour exclure Google App Engine.

Cependant, dans la configuration d'exécution pour mon application dans Google Web App de la "(x) = Arguments" onglet un des arguments était le suivant: -server com.google.appengine.tools.development.gwt.AppEngineLauncher

Il a semblé que la suppression de cet argument semblait être la solution car elle permettait de supprimer ce mode de débogage. Cependant, supprimer simplement l'option -server ne persiste pas .... quelque chose revient et l'ajoute à nouveau après la fin de la session de débogage. Lorsque vous essayez de l'exécuter à nouveau, vous revenez à la même erreur si vous ne le supprimez pas avant de l'exécuter.

La solution est de changer persistant à: -server com.google.gwt.dev.shell.jetty.JettyLauncher