我最近使用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'。 –