2017-11-11 85 views
0

我編譯Java文件運行:拋出java.lang.ClassNotFoundException從控制檯

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

該錯誤表示Java找不到名爲CFactory.class的文件。你有它的地方嗎?

一旦你找到它在哪裏,執行Java程序是這樣的(假設你的文件是在C:/path/CFactory.class): 「package1.package2」

java -classpath .;C:/path/ Main 
+0

控制檯顯示「錯誤:無法找到或加載主類主題」 – HouLagAr

+0

我的文件夾中的CFactory.class抽象模式模式\ abstractcommandfactory – HouLagAr

+0

「CFactory」屬於哪個軟件包?它應該在文件「CFactory.java」的第一行。 – MondKin

0

解決方案 鐵桿 指示C =的Class.forName( + x).newInstance();

相關問題