Ich habe eine Zeilennummer einer Java-Quelldatei und möchte die Quelltextmethode für diese Zeilennummer programmatisch erhalten.
Ich schaute in ANTLR , was mir nicht sehr geholfen hat.
Janino ( Ссылка ) scheint vielversprechend zu sein, ich würde den Code scannen und parsen (und wenn nötig kompilieren). Dann könnte ich JDI und
verwenden %Vor%Ich weiß immer noch nicht, wie ich JDI dafür verwenden soll und habe kein Tutorial gefunden, das irgendwo in diese Richtung geht.
Vielleicht gibt es einen anderen Weg, den ich komplett vermisse.
Wenn Sie Java 6 verwenden und es Ihnen nichts ausmacht, Suns APIs zu verwenden, können Sie Java API . Sie müssen tools.jar
zu Ihrem Klassenpfad hinzufügen.
Sie können den ASM -CodeVisitor für die Informationen zur Debugging-Zeile von einer kompilierten Klasse abrufen. Dies erspart Ihnen das Parsen von Java-Quelldateien.
%Vor%Für Klasse A:
%Vor%Dies erzeugt:
%Vor%Wenn Sie diese Informationen zur Laufzeit benötigen. Sie können eine Ausnahme erstellen und sich den Stack ansehen Spurenelemente .
Tags und Links java parsing line-numbers