即使jar在classpath / debugging类路径问题上,也找不到类异常

时间:2015-01-24 07:31:19

标签: java classpath

我很难过,我试着按照这样的方式运行我的简单程序:

java -cp ~/FirmwareUpdate/bin:~/PureJavaHidApi/bin/purejavahidapi.jar:~/PureJavaHidApi/lib/jna-4.0.0.jar Test

我得到了

Exception in thread "main" java.lang.NoClassDefFoundError: purejavahidapi/InputReportListener

在代码中首次访问该类的位置。

我已经在SO和其他地方阅读过几十个答案,但没有找到答案。

1 个答案:

答案 0 :(得分:0)

便士终于放弃了。

问题是主目录'〜'引用不起作用,除了类路径中的第一个条目,它真的让我离开轨道。因为它为第一个条目工作,我认为它适用于其他人。

问题来自(事后很容易看出)主目录路径扩展由shell和shell完成,整个类路径条目看起来像一个参数,因此扩展只在开始时发生一次论证。

我通过编写这个简单的bash脚本来证实这一点:

#!/bin/bash 
 for i; do 
    echo $i 
 done

将其保存为' test'并尝试了我的命令行:

./test -cp ~/FirmwareUpdate/bin:~/PureJavaHidApi/bin/purejavahidapi.jar:~/PureJavaHidApi/lib/jna-4.0.0.jar Test

输出:

-cp
/Users/nyholku/FirmwareUpdate/bin:~/PureJavaHidApi/bin/purejavahidapi.jar:~/PureJavaHidApi/lib/jna-4.0.0.jar
Test

确认诊断。

相关问题