我有一个 java 程序,我希望它能够在我机器上的任何地方运行。我想从我的 Cygwin 命令提示符运行它。我已经制作了脚本来调用 java 程序。我将 java 程序的位置添加到类路径中,当我从 java 程序的目录运行脚本时,它们就可以工作了。但是,当我尝试从任何其他目录运行时,我得到:
java.lang.NoClassDefFoundError: commandprogram/CommandProgram
这是我的脚本:
#!/bin/sh
CWD=`dirname "$0"`
java -cp "$CWD/classes;$CWD/lib/AJarFile.jar" commandprogram/CommandProgram
将 java 行更改为以下内容:
java -cp "$CWD/classes;$CWD/classes/commandprogram;$CWD/lib/AJarFile.jar" CommandProgram
产生相同的结果。
最佳答案
将您的目录添加到类路径示例:
java -classpath commandprogram CommandProgram
或
java -classpath directory_to_program Program
关于java - 如何从不同的目录运行 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190018/