Utilisez JDK6 pour compiler dynamique SRC, mais après le passage à l'environnement JDK, obtenez toujours un null de ToolProvider.getSystemJavacompiler ();
-
29-10-2019 - |
Question
J'utilise JDK6 pour compiler le SRC d'entrée de l'interface utilisateur et pour exécuter immédiatement.
Mais le problème est que par défaut, mon application utilise le JRE Not JDK, donc:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
Retourne toujours null;
Et j'ai remarqué que sur chaque serveur JDK6 est également installé, donc j'écris ceci pour s'attendre à résoudre ce problème:
System.setProperty("java.home", "\opt\jdk-i386-60");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// Dynamic compile and run app
Mais cela n'a pas fonctionné, peut-être que l'environnement Java ne changera pas à cet endroit que je viens de régler immédiatement, il a toujours obtenu l'objet nul.
Donc, ma question est de savoir comment passer votre environnement JRE à JDK et faire un effet immédiat que nous pouvons obtenir l'objet Javacompiler?
Merci.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow