java 调用编译器。

时间:2023-02-16 22:18:03
我是java初学者,现在在做一个期末的项目,是java编译器,就是个简易的Eclipse。现在遇到问题了,我写了代码上去,怎么可以调用java的编译器去运行它呢。哪位大师能教一下,拜托希望能写详细点过程,或者给段可以运行能启发我的代码。谢谢了,新手不胜感激。

20 个解决方案

#1


怎么没人帮忙啊,大家都来看看啊。

#2


编译器是编译,不是运行
Process process = Runtime.exec("javac 命令")

#3


命令行调用:Runtime.exec();
或者用JDK1.6的javax.tools包(见我的博客)

#4


引用 2 楼 swandragon 的回复:
编译器是编译,不是运行
Process process = Runtime.exec("javac 命令")

那运行该怎么弄呢,3楼的你代码好多啊,我看不懂。。。。

#5


顶上去,大师救我啊。

#6


呵呵,慢慢琢磨啊,就用Runtime.exec("javac 命令"),放入你想编译的源文件 

#7


引用 6 楼 whut0802 的回复:
呵呵,慢慢琢磨啊,就用Runtime.exec("javac 命令"),放入你想编译的源文件

大哥能不能写个程序举个例子啊~~~~~一筹莫展。

#8


楼主你截图下来贴出来,到底怎么回事

#9


[img=http://hiphotos.baidu.com/%BE%C5%CA%AE%BE%C5%C3%D7%D1%F4%B9%][/img]
就是这样的界面,然后点击编译运行。。。

#10


java 调用编译器。
晕死,是这样的

#11


还没人能救救我么。

#12


你先去研究下javac怎么用。
实际上,编译不就是把你写的代码编译成class文件么?
编译成class文件以后,再点那个运行,你就直接运行命令:java 你刚才生成的class文件。
但是如果你写的那个java文件里import了很多类的话,那你就得设置class_path。。。
反正可以实现

#13


引用 12 楼 bayougeng 的回复:
你先去研究下javac怎么用。
实际上,编译不就是把你写的代码编译成class文件么?
编译成class文件以后,再点那个运行,你就直接运行命令:java 你刚才生成的class文件。
但是如果你写的那个java文件里import了很多类的话,那你就得设置class_path。。。
反正可以实现

你说的就是我的意思,但是我真的不知道该如何下手,在网上找了半天,什么都没看懂,我初学java,能不能写一段小的可运行的代码启发一下我

#14


顶上去,寻找好心的高手能帮我解答。最好是给一段可运行的代码示范一下,万谢啊、

#15


顶顶顶,帮帮忙啊,郁闷。

#16


你知道javac  和  java命令怎么用吗?
知道的话那么就是API里看看这两个类,别什么东西就要人家发你代码。自己也要学会学习
一个事ProcessBuilder类和Process类。都在java.lang包里

#17


实际上无论编译还是运行,都是一个dos命令。
首先,你得System.setOut(你定义的输出流);System.setErr(你定义的错误输出流);。对应你的程序的话,也就是做一个textArea之类的东西,放到你的界面的下面,然后把System.out流中的内容输出到你的textArea中。这样你才能知道编译的结果和运行的结果。
编译的时候,你要做的是,先把编辑器里的内容保存成一个.java文件,然后:javac 你保存的.java文件
对应的java代码也就是:Runtime.exec("javac YourJavaFile.java");
当然,我没有写具体的参数,比如你想把.class文件放到某个目标目录,就得加参数。
编译不出错的话。你就可以Runtime.exec("java YourClassFile");来运行这个命令了。
这就是一个最简单的编译和运行过程。

#18


fantasyfans1在北京么
现场给你解决

#19


其实JDK默认有接口调用编译器的
sun.tools.javac.Main
http://mindprod.com/jgloss/javacmain.html

JDK更是公开了这个接口
http://java.chinaitlab.com/tools/718480.html

#20


虽然还不是很懂,但谢谢大家的帮助。

#1


怎么没人帮忙啊,大家都来看看啊。

#2


编译器是编译,不是运行
Process process = Runtime.exec("javac 命令")

#3


命令行调用:Runtime.exec();
或者用JDK1.6的javax.tools包(见我的博客)

#4


引用 2 楼 swandragon 的回复:
编译器是编译,不是运行
Process process = Runtime.exec("javac 命令")

那运行该怎么弄呢,3楼的你代码好多啊,我看不懂。。。。

#5


顶上去,大师救我啊。

#6


呵呵,慢慢琢磨啊,就用Runtime.exec("javac 命令"),放入你想编译的源文件 

#7


引用 6 楼 whut0802 的回复:
呵呵,慢慢琢磨啊,就用Runtime.exec("javac 命令"),放入你想编译的源文件

大哥能不能写个程序举个例子啊~~~~~一筹莫展。

#8


楼主你截图下来贴出来,到底怎么回事

#9


[img=http://hiphotos.baidu.com/%BE%C5%CA%AE%BE%C5%C3%D7%D1%F4%B9%][/img]
就是这样的界面,然后点击编译运行。。。

#10


java 调用编译器。
晕死,是这样的

#11


还没人能救救我么。

#12


你先去研究下javac怎么用。
实际上,编译不就是把你写的代码编译成class文件么?
编译成class文件以后,再点那个运行,你就直接运行命令:java 你刚才生成的class文件。
但是如果你写的那个java文件里import了很多类的话,那你就得设置class_path。。。
反正可以实现

#13


引用 12 楼 bayougeng 的回复:
你先去研究下javac怎么用。
实际上,编译不就是把你写的代码编译成class文件么?
编译成class文件以后,再点那个运行,你就直接运行命令:java 你刚才生成的class文件。
但是如果你写的那个java文件里import了很多类的话,那你就得设置class_path。。。
反正可以实现

你说的就是我的意思,但是我真的不知道该如何下手,在网上找了半天,什么都没看懂,我初学java,能不能写一段小的可运行的代码启发一下我

#14


顶上去,寻找好心的高手能帮我解答。最好是给一段可运行的代码示范一下,万谢啊、

#15


顶顶顶,帮帮忙啊,郁闷。

#16


你知道javac  和  java命令怎么用吗?
知道的话那么就是API里看看这两个类,别什么东西就要人家发你代码。自己也要学会学习
一个事ProcessBuilder类和Process类。都在java.lang包里

#17


实际上无论编译还是运行,都是一个dos命令。
首先,你得System.setOut(你定义的输出流);System.setErr(你定义的错误输出流);。对应你的程序的话,也就是做一个textArea之类的东西,放到你的界面的下面,然后把System.out流中的内容输出到你的textArea中。这样你才能知道编译的结果和运行的结果。
编译的时候,你要做的是,先把编辑器里的内容保存成一个.java文件,然后:javac 你保存的.java文件
对应的java代码也就是:Runtime.exec("javac YourJavaFile.java");
当然,我没有写具体的参数,比如你想把.class文件放到某个目标目录,就得加参数。
编译不出错的话。你就可以Runtime.exec("java YourClassFile");来运行这个命令了。
这就是一个最简单的编译和运行过程。

#18


fantasyfans1在北京么
现场给你解决

#19


其实JDK默认有接口调用编译器的
sun.tools.javac.Main
http://mindprod.com/jgloss/javacmain.html

JDK更是公开了这个接口
http://java.chinaitlab.com/tools/718480.html

#20


虽然还不是很懂,但谢谢大家的帮助。

#21