[英]Java command line compile
我最近完成了使用Netbeans和Java的編程任務。 當我在Netbeans中運行該程序時,一切運行正常。 當我嘗試從終端運行它時,我的問題就來了。 我用所有的.java文件運行javac,並且為每個文件生成一個.class文件。 然后,當我嘗試運行可執行文件時,我就出錯了。
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”,我不太確定該怎么做。
為什么不使用netbeans生成可執行文件? 您不必每次都編譯代碼。
input.txt
和output.txt
稱為參數。 它們將存儲在main
函數中的String[] args
數組中。
您未提供classpath參數。
使用javac -cp YOURCLASSPATH KenKenPuzzleSolver
您正在運行的類應為公共類,並且其類名應與文件名相同。 您的文件名似乎是“ KenKenPuzzleSolver”,但您的類名似乎是“ KenkenPuzzleSolver”(請注意小寫ken)。 更正該錯誤,然后重新編譯並重新運行。
您一定已經搞砸了案例,因為錯誤已經很明顯了,而不是在KenKenPuzzleSolver
類命名為kenkenpuzzlesolver
,而不是KenKenPuzzleSolver.java
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.