简体   繁体   English

Java - 运行外部代码

[英]Java - Running external code

I want to have a Java program that can read a .CLASS file and run that code, using itself as the .CLASS file's library. 我想要一个可以读取.CLASS文件并运行该代码的Java程序,将其自身用作.CLASS文件的库。 Is this at all possible? 这是可能吗?

java.lang.ClassLoader

will help you to load external classes. 将帮助您加载外部类。

java.lang.reflect.Method

will help you to invoke methods of loaded external classes. 将帮助您调用加载的外部类的方法。

Tiny example: 小小的例子:

ArrayList<URL> urls = new ArrayList<URL>();
urls.add(new File("/path/to/your.class").toURI().toURL()); //can add several..

ClassLoader cl = new URLClassLoader(urls.toArray(new URL[urls.size()]));
Class<?> c;
c = Class.forName("your.class.name", false, cl); //now you have your class

Method m = c.getMethod("main", String[].class); //now your have your method
m.invoke(null, new Object[] { "argument1", "argument2" }); //now you "run that code"

I did not run anything, i just wrote it to show you some tools that can help you. 我没有运行任何东西,我只是写它来向您展示一些可以帮助您的工具。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM