私はJavaクラスがListenermain.java
と呼ばれていますが、このクラスは外部ライブラリに依存しています。javaクラスがcmdでコードをコンパイルしていません
import Luxand.FSDK;
import php.java.bridge.JavaBridgeRunner;
public class Listenermain {
public static final String JAVABRIDGE_PORT = "1699";//8080
static final JavaBridgeRunner runner
= JavaBridgeRunner.getInstance(JAVABRIDGE_PORT);
/**
* @param args the command line arguments
*
*/
public static void main(String[] args) {
// TODO code application logic here
try {
System.loadLibrary("facesdk");
int res = FSDK
.ActivateLibrary("pZo9jhbhbybgvbh");
FSDK.Initialize();
FSDK.SetFaceDetectionParameters(true, true, 384);
FSDK.SetFaceDetectionThreshold(5);
if (res == FSDK.FSDKE_OK) {
System.out.printf("FaceSDK activated", "FaceSDK activated\n");
} else {
System.out.printf("Error activating FaceSDK: ", res + "\n");
}
} catch (java.lang.UnsatisfiedLinkError e) {
System.out.printf("exception ", e.getMessage());
}
try {
runner.waitFor();
} catch (Exception ex) {
System.out.printf("Error: ", ex.getMessage() + "\n");
}
// System.exit(0);
}
}
私はCMDライン構文
javac -classpath ".;C:\Users\daviestobialex\Workarea\openshiftmatcher\libs\JavaBridge.jar;C:\Users\daviestobialex\Workarea\openshiftmatcher\libs\FaceSDK.jar;C:\Users\daviestobialex\Workarea\openshiftmatcher\libs\jna.jar" Listenermain.java
に、次のと私のクラスをコンパイルし、それがすべてのエラーを吐くませんが、私はこの構文
に再度コマンド・ライン・インターフェースを介してコードを実行しようとすると、`java -classpath . Listenermain`
私は
以下のエラーが出ますException in thread "main" java.lang.NoClassDefFoundError: php/java/bridge/JavaBridgeRunner at Listenermain.(Listenermain.java:19) Caused by: java.lang.ClassNotFoundException: php.java.bridge.JavaBridgeRunner
Listenermain.class
が私が指定した依存関係でコンパイルされなかった理由について混乱します。
あなたはまた、runコマンドで依存ライブラリのパスを言及する必要があり、他のJVMは、依存関係を解決することはできません。 –