无法在java中找到或加载主类:Windows vs Ubuntu

时间:2014-08-19 14:33:38

标签: java windows ubuntu classpath

当我在Windows中运行以下内容时,它可以正常工作:

java -cp bin\;lib/myJar.jar com.example.MyClass

但是我不能让它在Ubuntu中工作(它说无法找到或加载主类)。我在SO中阅读了几个帖子,我认为问题在于需要设置类路径,但我无法弄清楚如何修改bin \; lib / myJar.jar以便在ubuntu上正确运行。

2 个答案:

答案 0 :(得分:2)

您正在UNIX系统中执行cmd,您应该遵循unix惯例:

不要使用\作为目录分隔符,而是使用/。 不要将;用作类路径分隔符,而是使用:

所以你必须移动到你的myJar.jar所在的目录,如果你想要执行的主类应该在jar中,那么使用命令检查它是否真的存在:

jar tf jar-file

将打印jar的内容。如果您在同一文件夹中有一个文件夹bin,则可以将其添加到类路径中

然后使用

java -cp "bin/:lib/myJar.jar" com.example.MyClass

答案 1 :(得分:1)

基于UNIX的操作系统无法识别目录路径中的反斜杠。

请尝试使用bin/

另外,Windows会将\/识别为目录分隔符。