2012-05-07 23 views
4

外部フォルダにJavaファイルが存在するとします。そのJavaファイルの.classファイルを生成し、.classファイルを同じ外部フォルダに配置するJavaプログラムを作成できますか?プログラムからJavaファイルからJavaクラスファイルを作成するにはどうすればよいですか?

+1

があります。 'javac'? – beerbajay

+0

No Sir。 javacは.javaファイルからクラスファイルを作成できます。しかし、私はjavacを使用せずに、そのクラスを作成する独自のプログラムを実行する必要があります。 –

+0

外部とはどういう意味ですか? – 11684

答えて

3

最も簡単な方法は、tools.jarを含めることと、com.sun.tools.javac.Main.compile(を呼び出すことです。

+0

'sun.tools.javac.Main'が' javax.tools.JavaCompiler'に置き換えられていることに注意してください。参照[ここ](http://mindprod.com/jgloss/javacmain.html) –

+0

@PauKiatあなたが正しいです、私は古い「すばやく汚れた」インターフェースでもっと快適に感じることができます(「...最も簡単な方法」)。 –

+0

あなたはtools.jarをどこからダウンロードできますか教えてください。一つのことは、このコードはstruts 1 frmaworkで実装する必要があります。 –

1

はい、あなたはそれはここでのJavaコンパイラ

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null,null,null); 

Check this for further details

0

を使用してそれを行うことができます。java.lang.Compiler。 このクラスにはメソッドcompileClass(Class class)compileClasses(String names)

+0

すべての静的メソッド – 11684

+0

コンパイラクラスは推奨されなくなりました。 Javaソースコードのコンパイルとはまったく関係がありません。現代のJVMでは、まったく何もしません。 – boneill

+0

文書によると、それがします。 Java 6のドキュメントを指すようにリンクを更新しました。 @boneill – 11684

関連する問題