首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java动态编译(1)

2012-12-20 
Java动态编译(一)一般情况下对java源文件的编译均是在代码完成后使用javac编译的,不管是使用IDE还是直接使

Java动态编译(一)
        一般情况下对java源文件的编译均是在代码完成后使用javac编译的,不管是使用IDE还是直接使用命令行。这里要说的情况是比较特别的,就是在代码内动态的编译一些代码。比如你想通过在某个目录下通过放置一些源代码的方式来实现对程序功能的动态扩展,那么你的程序就需要具有一种对源代码的编译、加载、运行的能力,可能就需要本文介绍的3种方法。
        可以和JAVA的类加载器结合使用,动态编译、动态加载。
        方法1:通过调用本机的javac命令来编译
       



         方法3:使用javax.tools包
         从上面可以看到方法2的缺点就是tools.jar需要我们自行导入。而在Java SE6中为我们提供了标准的包来操作Java编译器,这就是javax.tools包。使用这个包,我们可以不用将jar文件路径添加到classpath中了。 使用这个类的方法和上面的类很相似,我只需要将
int result = compiler.run(null, null, null, "-encoding", "UTF-8", "-cp", "C:/Java/jdk1.6.0_18/lib/tools.jar", "-d", binDir, filePath);  


<<To Be Continued>>

热点排行