0

我在 bash 和 sh shell 中运行以下命令:

#!/bin/sh
export GPU_USE_SYNC_OBJECTS=1
cd $(dirname ${0})
exec java -Xmx32m -cp target/libs/*:target/DiabloMiner.jar -Djava.awt.headless=true -Djava.library.path=target/libs/natives com.diablominer.DiabloMiner.DiabloMiner $@

我还得到以下输出

sh-3.2$ sudo ./Diablominer-osx.sh
Password:
Exception in thread "main" java.lang.NoClassDefFoundError: com/diablominer/DiabloMiner/DiabloMiner
Caused by: java.lang.ClassNotFoundException: com.diablominer.DiabloMiner.DiabloMiner
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
sh-3.2$ 

在我看来,它想查看目录中的文件,com/diablominer/DiabloMiner/DiabloMiner所以我将上面的 SH 文件移到了父目录中.com/,我得到了同样的错误。

GIT 源代码在这里。我正在 OSX Mountain Lion 上编译。

任何指导将不胜感激!

4

1 回答 1

0

*尝试在该类路径中的前面放置一个反斜杠:

-cp target/libs/\*:target/DiabloMiner.jar

星号需要从字面上进入java命令,而不是首先被外壳扩展。

于 2012-12-14T09:14:48.723 回答