java 调用自己编译so库文件,声明库中函数的类报错无法初始化该类

linux 编译so库文件,供java调用,java声明库中函数的类如下

package com.xxxx.jni;


public class GgoSdk {

    static {
        System.load("/home/server/libs/libGgoSdkjni.so");
    }
    public native int GgoInit(String inFile, String outFile, boolean beStandard, int[] checkAttr, String cdzxlc);
}

java调用类如下:

GgoSdk ggoSdk = new GgoSdk();
ggoSdk.GgoInit(test.getFile(), "", false, checkAttr, cdzxlc);

编译so库对应的方法定义如下:

extern "C" JNIEXPORT jint JNICALL Java_com_xxxx_jni_GgoSdk_GgoInit(JNIEnv * env, jobject obj, jstring inFilePath, jstring outFilePath, jboolean standardGather, jintArray configAttr, jstring cdzxlc)

运行报错如下:
java.lang.NoClassDefFoundError: Could not initialize class com.xxxx.jni.GgoSdk

有没有哪位遇到过,指导一下,或者是不是我java调用so的方式有错?

xxxx是个啥,是你刻意隐去了,还是代码里就写的这玩意

看着是路径不太对。你用编译器运行的,还是服务器运行的啊。要是服务器直接运行的话,你这com.xxxx.jni的位置找不到吧

package com.xxxx.jni;
 
 
public class GgoSdk {
 
    static {
        System.load("/home/server/libs/libGgoSdkjni.so");
    }
    public static native int GgoInit(String inFile, String outFile, boolean beStandard, int[] checkAttr, String cdzxlc);
}

GgoSdk.GgoInit(test.getFile(), "", false, checkAttr, cdzxlc);

感谢各位的回复和无私分析,问题解决了,这些都不是问题,问题出在用x86环境编译的库,在arm环境下面用没法用。
再次感谢各位