类路径在 Linux 下不起作用

2022-08-31 14:39:54

任何人都知道为什么这个命令在Windows中工作正常,但在Linux中,我得到了一个ClassNotFoundException game.ui.Main。

java -cp ".;lib/*" game.ui.Main -Xms64m -Xmx128m

我的文件夹结构看起来像这样: lib/ - Jars game/ - 类文件

这是最新的Java 6。


答案 1

类路径语法与操作系统相关。来自维基百科

由于与文件系统密切相关,命令行类路径语法取决于操作系统。例如:

在所有类Unix操作系统(如Linux和Mac OS X)上,目录结构具有Unix语法,单独的文件路径由冒号(“:”)分隔。

在 Windows 上,目录结构具有 Windows 语法,并且每个文件路径必须由分号 (“;”) 分隔。

当类路径在清单文件中定义时,这不适用,其中每个文件路径必须用空格 (“ ”) 分隔,而不管操作系统如何。


答案 2

尝试将分号更改为冒号。

CLASSPATH 分隔符依赖于平台,与 java.io.File.pathSeparatorChar 返回的字符相同。


推荐