Utilisez JDK6 pour compiler dynamique SRC, mais après le passage à l'environnement JDK, obtenez toujours un null de ToolProvider.getSystemJavacompiler ();

StackOverflow https://stackoverflow.com/questions/5907451

  •  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
scroll top