Java 尝试从JAR加载类时发生ClassNotFoundException
我的代码中有以下结构: 在bin文件夹中,我有两个包:carFactory和bikeFactory。我已经为每个工厂目录创建了一个jar。然后,我将这两个jar都移动到项目根目录下的plugins目录中 在我的代码中,当我尝试使用以下命令加载类时:Java 尝试从JAR加载类时发生ClassNotFoundException,java,Java,我的代码中有以下结构: 在bin文件夹中,我有两个包:carFactory和bikeFactory。我已经为每个工厂目录创建了一个jar。然后,我将这两个jar都移动到项目根目录下的plugins目录中 在我的代码中,当我尝试使用以下命令加载类时: IAbstractFactory factory = (IAbstractFactory) Class.forName("carFactory.CarFactory", true, ulc)
IAbstractFactory factory = (IAbstractFactory) Class.forName("carFactory.CarFactory", true, ulc)
.getDeclaredConstructor().newInstance();
我得到错误java.lang.ClassNotFoundException
更新:
代码是在Eclipse上编写的,但我正在尝试在CMD上执行
类路径的内容:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="A:/Libs/RSyntaxTextArea/rsyntaxtextarea-3.1.2.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
R先生是对的。(需要帮助:)。这是eclipse,是吗?在复制了eclipse中的文件之后,您是否忘记了在eclipse中刷新?插件目录实际上在类路径中吗?你能把.classpath文件的内容附加到答案中吗?你能把树显示在src下吗?这样我们就可以确定它不是打字错误了?谢谢你的帮助!我已经更新了这个问题。当从cmd行运行时,您需要指定一个类路径。。。e、 gjava-classpath“plugins/carFactory.jar:plugins/bikeFactory.jar:bin”Tester
。它对eclipse及其.classpath一无所知。(这都是假设你在最高级别——高于src)。