java编译类代码,使用Java代码编译类

I have this piece of code that compiles a class called tspClassName, when I compile using this code:

Process compileProc = null;

try {

compileProc = Runtime.getRuntime().exec("javac -classpath ."

+ File.separator + "src" + File.separator

+ File.separator + "generated." + tspClassName + ".java -d ." + File.separator + "bin");

// catch exception

if (compileProc.exitValue() != 0)

{

System.out.println("Compile exit status: "

+ compileProc.exitValue());

System.err.println("Compile error:" +

compileProc.getErrorStream());

it outputs this:

"Compile exit status: 2

Compile error:java.io.FileInputStream@17182c1"

The class tspClassName.java compiles without errors otherwise, so I am guessing it has to do with the path,and in my eclipse project, the tspClassName.java resides in package homework4.generated inside src, is there something wrong with the path that I use in the code?

thanks

解决方案

You can use the javax.tools.JavaCompiler or JCI that wrap this functionality.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值