从
NoClassDefFoundError本质上讲,A 表示该类在编译时位于类路径中,但在运行时不在类路径中。
在您的情况下,
java.exe从命令行执行使用时,需要在
-cpor
-classpath参数中指定类路径。或者,如果它是一个JAR文件,则需要在
class-path其
MANIFEST.MF文件条目中指定它。
参数/条目的值可以是包含所有
.class文件的文件夹或单个
.jar文件的绝对或相对文件系统路径。您可以使用分号分隔路径
;。当路径包含空格时,您需要使用双引号将特定路径包装起来
"。例:
java -cp .;c:/path/to/file.jar;"c:/spacy path/to/classes" mypackage.MyClass
为了节省每次在命令行中键入和编辑自变量的工作量,请使用一个
.bat文件。
编辑
:我应该已经意识到您正在使用基于Unix的操作系统。上面的示例针对Windows。在类似Unix的平台上,您可以遵循相同的规则,但是需要使用冒号分隔路径
:,而不是最终的批处理文件,而要使用
.sh文件。
java -cp .:/path/to/file.jar:"/spacy path/to/classes" mypackage.MyClass



