0

私はbashシェルとshシェルの両方で次のコマンドを実行しています:

#!/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ソースはこちらです。そして私はOSXMountainLionでコンパイルしています。

任意のガイダンスをいただければ幸いです!

4

1 に答える 1

0

*そのクラスパスの の前にバックスラッシュを入れてみてください:

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

javaスターは文字通りコマンドに到達する必要があり、最初にシェルによって展開されることはありません。

于 2012-12-14T09:14:48.723 に答える