我最近使用Netbeans和Java完成了一個編程任務。當我在Netbeans上運行程序時,一切都運行完美。當我嘗試從終端運行它時,我的問題就出現了。我用所有的.java文件運行javac,併爲每個文件生成一個.class文件。然後當我嘗試運行可執行文件時,它出錯了。Java命令行編譯
ls
Board.java KenKenPuzzleSolver.java
Solver.java Cage.java
Size.java Values.java
javac KenKenPuzzleSolver.java Board.java Cage.java Size.java Solver.java Values.java
ls
Board.class Size.class
Board.java Size.java
Cage.class Solver.class
Cage.java Solver.java
KenKenPuzzleSolver.class Values.class
KenKenPuzzleSolver.java Values.java
java KenKenPuzzleSolver
Exception in thread "main" java.lang.NoClassDefFoundError: KenKenPuzzleSolver (wrong name: kenkenpuzzlesolver/KenKenPuzzleSolver)
此外,當程序從終端運行它應該在輸入文件和輸出文件的名稱,即「Java的KenKenPuzzleSolver input.txt中output.txt的」,我不太清楚如何去做這個。
閱讀更多關於'CLASSPATH'和參數到'static main'方法的作用。 –
有關'javac'的更多信息,請輸入'man javac'。閱讀它,它很可能解決你的問題。 – elyashiv
你有一個軟件包問題,看來你的KenKenPuzzleSolver實際上是kenkenpuzzlesolver.KenKenPuzzleSolver(在包kenkenpuzzlesolver中)檢查你的軟件包聲明,如果是這樣,你需要來一個目錄後面並執行'java kenkenpuzzlesolver.KenKenPuzzleSolver'。 –