小编Sha*_*rot的帖子

如何动态编译和加载外部java类?

(这个问题类似于我看过的很多问题,但大多数问题对我正在做的事情都不够具体)

背景:

我的程序的目的是让使用我的程序的人轻松制作自定义"插件",然后编译并加载到程序中以供使用(与我的程序中实现的不完整,慢速解析器相比).我的程序允许用户将代码输入到预定义的类中,该类扩展了与我的程序一起打包的编译类.他们将代码输入到文本窗格中,然后我的程序将代码复制到被覆盖的方法中.然后将其保存为.java文件(几乎)为编译器准备好了.该程序运行javac(java编译器),并将保存的.java文件作为输入.

我的问题是,我如何得到它,以便客户端(使用我的编译程序)将这个java文件(扩展我的InterfaceExample)保存在他们的计算机上的任何地方,让我的程序编译它(不说"找不到符号:InterfaceExample" )然后加载它并调用doSomething()方法?

我一直在看Q&A使用的是反射或ClassLoader,几乎描述了如何编译它,但没有一个对我来说足够详细/我完全不理解它们.

java load compilation external dynamic

42
推荐指数
2
解决办法
4万
查看次数

标签 统计

compilation ×1

dynamic ×1

external ×1

java ×1

load ×1