【发布时间】:2018-11-10 00:14:44
【问题描述】:
我正在从命令行运行 Java 程序。我指的是只有 1 个外部 jar 文件。我在类路径中添加了该 jar 的整个路径。即使那样我在命令行中运行程序时也没有找到类定义错误。程序编译没有任何错误。
【问题讨论】:
标签: java cmd classpath noclassdeffounderror
我正在从命令行运行 Java 程序。我指的是只有 1 个外部 jar 文件。我在类路径中添加了该 jar 的整个路径。即使那样我在命令行中运行程序时也没有找到类定义错误。程序编译没有任何错误。
【问题讨论】:
标签: java cmd classpath noclassdeffounderror
我认为你是这样编译并运行 Java 程序的
javac -cp fullyqualifiedPathToExternalJar yourfilepath/filename.java
java -cp fullyqualifiedPathToExternalJar yourfilepath/filename
这是完全错误的。当您以这种方式编译并运行程序时,程序编译成功但无法运行。这是因为您必须正确遵循 java 命令的语法。
用于编译它的确定。
javac -cp fullyqualifiedPathToExternalJar yourfilepath/filename.java
要运行程序,您必须将文件路径添加到类路径:
java -cp fullyqualifiedPathToExternalJar;yourfilepath filename.java //in windows
java -cp fullyqualifiedPathToExternalJar:yourfilepath filename.java //in linux
语法是
javac example.java
java example
带有文件夹路径
javac /home/admin/example.java
java -cp /home/admin example//only class name
【讨论】:
可能是 jar 的兼容性问题。检查你的相互依赖的 jar 版本。
【讨论】: