java - 运行外部java类(项目)

标签 java class project external execute

我想从一个 Java 项目中运行一个外部 Java 项目(类)。我指的不是任何程序(例如 EXE 文件),而是 Java 类(项目)。

假设您在字符串中有类文件路径:

String = "C:\\test\\test.class";

最佳答案

这是 ClassLoader 的职责。如果您在磁盘上有要实例化/使用的外部 .class 文件,那么一旦您了解了可用的 API,它就相对简单了:

File f = ...; // Folder containing the .class files

ClassLoader loader = new URLClassLoader(new URL[] { f.toURI().toURL() }, getClass().getClassLoader(););
for (File classFile : f.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.endsWith(".class");
    }
})) {
    try {
        String filename = classFile.getName();
        // Remove the .class extension
        Class<?> cls = loader.loadClass(filename.substring(0, filename.length() - 6));
        // Do something with the class
    } catch (Exception ex) {
        LOGGER.error("Unable to load plugin: " + ex.getMessage());
    }
}

关于java - 运行外部java类(项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333994/

相关文章:

java - 即使我没有编辑任何内容,为什么也会收到 ConcurrentModificationException?

c++ - 声明没有默认构造函数或复制构造函数的成员变量

c# - Entity Framework 查询中new Class Name和new Class Name()的区别

python - 为什么重写 __getattribute__ 来代理值会搞砸 isinstance?

java - 从 JTextArea 获取用户输入

java - 使用javac编译时出现公共(public)类错误

java - 打印目录中多个文件的所有内容

java - Android 上的简单 OpenGL ES 2.0 应用程序显示黑屏 : why?

android - 检查 android 库的测试覆盖率的正确方法是什么?

具有管理员权限的 Java 项目