gpt4 book ai didi

java - 如何从另一个包加载类?

转载 作者:行者123 更新时间:2023-11-30 07:58:21 25 4
gpt4 key购买 nike

我想从另一个包加载类(operators是包名)。我使用这个语句:

File operatorFile = new File(operatorPath);
URL operatorFilePath = operatorFile.toURL();
URL[] operatorFilePaths = new URL[]{operatorFilePath};
ClassLoader operatorsLoader = new URLClassLoader(operatorFilePaths);

Class operatorInterface = operatorsLoader.loadClass("operators.Operator");

但是在运行时我遇到了这个异常:

enter image description here

我不知道我的调用方式是否不正确或其他问题我的代码是否存在问题。有人可以帮助我吗?

最佳答案

File operatorFile = new File(operatorPath);

这已经是错误的了。 File 应使用包结构顶部的目录进行初始化。在本例中,operatorPath/..,假设 operatorPath“operators”

URL operatorFilePath = operatorFile.toURL();          
URL[] operatorFilePaths = new URL[]{operatorFilePath};
ClassLoader operatorsLoader = new URLClassLoader(operatorFilePaths);

Class operatorInterface = operatorsLoader.loadClass("operators.Operator");

应该从那里开始工作。

关于java - 如何从另一个包加载类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323551/

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