gpt4 book ai didi

java - 如何从 Jar 中读取工作区中的 Java 文件?

转载 作者:行者123 更新时间:2023-11-30 08:55:00 25 4
gpt4 key购买 nike

我有一个奇怪的场景,我让客户在他的工作区中编辑几个类。我有一个可执行 jar,他将把它放在项目的 lib 文件夹中。在其中一个菜单中,它应该调用客户在其工作区中编辑的 java 类。

如何让 Jar 调用工作区中的 Java 类?

最佳答案

ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-cp", "packagename.Class"); 
pb.directory(new File("preferred/working/directory"));
Process p = pb.start();

这适用于 main 方法。

或者:

InputStream fileInputStream = new FileInputStream("c:/..../TestClass.class");
byte rawBytes[] = new byte[fileInputStream.available()];
fileInputStream.read(rawBytes);

Class<?> regeneratedClass = this.defineClass("testpack.TestClass",rawBytes, 0, rawBytes.length);

System.out.println(regeneratedClass.getMethod("getSimpleMethod", null).invoke(regeneratedClass.newInstance(), null));

关于java - 如何从 Jar 中读取工作区中的 Java 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com