webForumDet fria alternativet

Runtime Compiler

2 svar · 200 visningar · startad av Viktor

ViktorMedlem sedan aug. 20021 752 inlägg
#1

Jag skulle vilja att användaren av mitt program ska kunna ändra i en java fil och den filen ska varje gång som programmet startar kompileras och användas av programmet.
Jag har sett att det ska finnas någont typ "sun.tool.javac" men jag har inte sett någon förklaring till hur det fungerar och kan inte hitta det på Suns sida heller.
Programmet är det gammla vanliga forumet som jag håller på med så det är från en Servlet som klassen kommer att kompileras.

/Viktor

phonkworksMedlem sedan juli 2001228 inlägg
#2

Tittade i tools.jar som ligger i j2sdk1.4.0_01/lib
Där finns det en class vid namn:
com.sun.tools.javac.v8.JavacCompiler

Hittar ingen vettig doc om klasserna i tools burken tyvärr.

mvh
phonk

ViktorMedlem sedan aug. 20021 752 inlägg
#3

Jag har fått det att fungera nu, inte med v8 klassen men med "vanliga" javac. Det här är odokumenterat så Sun kan ändra på det här utan att säga till :)

public class Kalle
{
	public static void main(String argv[])
	{
		String[] s=new String[1];
		s[0]="Viktor.java";
		System.out.println("Compile!");
		new sun.tools.javac.Main(System.err,null).compile(s); // Om JDK < 1.3
		com.sun.tools.javac.Main.compile(s); // Om JDK >=1.3
	}
}

tools.jar måste finnas i classpathen för att det ska fungera.

/Viktor

126 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)