我编译了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
答案 0 :(得分:0)
该错误意味着Java无法找到名为CFactory.class
的文件。你有它吗?
找到它的位置后,执行这样的Java程序(假设您的文件位于C:/path/CFactory.class
):
java -classpath .;C:/path/ Main
答案 1 :(得分:0)
解 铁杆 命令c = Class.forName(" package1.package2。" + x)。newInstance();