Java 类不通过 cmd 编译代码

  • 本文关键字:cmd 编译 代码 Java java
  • 更新时间 :
  • 英文 :


我有一个名为Listenermain.java的Java类,它依赖于外部库,该类是下面的s。

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 activatedn");
        } 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:UsersdaviestobialexWorkareaopenshiftmatcherlibsJavaBridge.jar;C:UsersdaviestobialexWorkareaopenshiftmatcherlibsFaceSDK.jar;C:UsersdaviestobialexWorkareaopenshiftmatcherlibsjna.jar" Listenermain.java

它不会吐出任何错误,但是当我尝试使用此语法再次通过命令行界面运行代码时

`java -classpath . Listenermain`

我收到以下错误

线程"main"java.lang.NoClassDefFoundError中的异常:php/java/bridge/JavaBridgeRunner at Listenermain。(听众主.java:19) 原因:java.lang.ClassNotFoundException: php.java.bridge.JavaBridgeRunner

所以我很困惑为什么Listenermain.class没有使用我指定的依赖项进行编译。

运行程序时,还需要指定类路径以解析类依赖关系。

尝试如下:

java -classpath ".;C:UsersdaviestobialexWorkareaopenshiftmatcherlibsJavaBridge.jar;C:UsersdaviestobialexWorkareaopenshiftmatcherlibsFaceSDK.jar;C:UsersdaviestobialexWorkareaopenshiftmatcherlibsjna.jar" Listenermain

最新更新