Les 2 choses que je souhaite faire :
- compilation d'un String ( sans créer de .class pour des questions de performance d'accès disque ) pour savoir si le String est correct
- compilation d'un String ( toujours sans créer de .class ) mais en récupérant cette fois-ci le bytecode généré ( pour pouvoir l'appeler ensuite avec Classloader.defineClass(...) sans toucher au disque dur)
État actuel des choses :
J'arrive à compiler&exécuter un String grâce à JavaCompiler et l'introspection ( lien ) mais cette compilation créer un .class
Voie Process avec javac :
J'ai beau cherché quels arguments entré à javac je ne trouve pas comment lui faire afficher le bytecode en sortie
Pour ce qui est de lui envoyer un String :
javac << cat Test.java
Control + D
fonctionne mais nécessite un .java ( ce qui n'est pas appréciable )
>> impasse
Voie JavaCompiler.run(...) :
Je n'arrive pas à compiler de string avec, mais uniquement des fichiers
>> impasse
Alors je ne vois pas comment faire
Voilà, vos idées sont les bienvenues.
Partager