从控制台运行的java.lang.ClassNotFoundException

时间:2017-11-11 07:45:31

标签: java

我编译了Java文件:

source code
 folder1
  a.java
  b.java
 folder2
  c.java
  d.java
 Main.java

我想在这个文件夹中运行它们:

bin
 folder1
  a.class
  b.class
 folder2
  c.class
  d.class
 Main.class

我试过了java Main并且程序运行了。但是当我按下一个键时,它会说:

java.lang.ClassNotFoundException: CFactory

其中CFactory是Main.java调用的Java文件,如下所示:(Class.forName("CFactory").newInstance())

如何解决问题,并正常运行?

run.bat
mkdir abstractfactorypattern\abstractcommandfactory
mkdir abstractfactorypattern\abstractfoodfactory
mkdir commandpattern
mkdir mementopattern
mkdir stock

cd ..\source code

javac abstractfactorypattern\abstractcommandfactory\*.java
javac abstractfactorypattern\abstractfoodfactory\*.java
javac commandpattern\*.java
javac mementopattern\*.java
javac stock\*.java

move abstractfactorypattern\abstractcommandfactory\*.class ..\bin\abstractfactorypattern\abstractcommandfactory
move abstractfactorypattern\abstractfoodfactory\*.class ..\bin\abstractfactorypattern\abstractfoodfactory
move commandpattern\*.class ..\bin\commandpattern
move mementopattern\*.class ..\bin\mementopattern
move stock\*.class ..\bin\stock`enter code here`
move *.class ..\bin

cd ..\bin
java AIMS

pause

2 个答案:

答案 0 :(得分:0)

该错误意味着Java无法找到名为CFactory.class的文件。你有它吗?

找到它的位置后,执行这样的Java程序(假设您的文件位于C:/path/CFactory.class):

java -classpath .;C:/path/ Main

答案 1 :(得分:0)

解 铁杆 命令c = Class.forName(" package1.package2。" + x)。newInstance();

相关问题