当前位置: 首页 > 后端技术 > Java

SAPJavaConnector组件介绍

时间:2023-04-01 16:09:09 Java

SAPJavaConnector3.1运行时环境由两部分组成:sapjco3.jar-archivecontainingJCo'sJavaruntimeclasses{libraryprefix}sapjco3{sharedlibraryextension}-JNIcontainingJConativecodeLibrariesJCo'sJNIlibrary包含用于网络通信的本机代码。JCo存档和JNI库之间只有松耦合,但JCo需要特定的最低版本的JNI库,通常在分发中随JCo存档一起提供。注意:如果开发人员使用的是32位JVM,则还需要32位JCoJNI库,无论是在32位还是64位操作系统上运行。运行时初始化逻辑当应用程序首次引用JCo类时,它会由关联的类加载器加载。在此过程中,执行JCo的静态初始化程序。此例程将使用以下算法搜索并加载JCoJNI库:尝试从与sapjco3.jar文件相同的目录加载sapjco3JNI库。尝试从sapjco3.jar文件所在的平台相关子目录加载sapjco3JNI库。通过考虑当前使用的操作系统和JVM运行环境并引用以下子目录之一来确定合适的JNI库加载路径:ntamd64、ntintel、linuxx86_64、linuxppc64le、linuxs390x、darwinintel64、rs6000_64、hpia64、sunx86_64、sun_64、os390_64,as400_pase_64沿着java.library.path系统属性中定义的目录路径从左到右搜索sapjco3JNI库,如果找到,则从那里加载它。注意:如果您不手动设置此属性,JVM通常会在启动时将操作系统特定的库路径环境变量设置为默认的java.library.path系统属性。通过将此任务委托给它的System.loadLibrary(Stringlibname)方法,让JVM处理sapjco3JNI库的加载。如果无法找到或加载sapjco3JNI库,您将收到一个UnsatisfiedLinkError错误,其中包含操作系统提供的详细信息。此错误消息可能由以下原因之一引起:使用上述算法无法找到sapjco3JNI库,因为您无意中将其安装到错误的目录,或者您忘记在操作系统特定环境变量中设置库路径或java.library.path系统属性中指定其目录。发现sapjco3JNI库的版本太旧。发现sapjco3JNI库缺少执行权限标志。发现sapjco3JNI库的位宽与JVM不同(32位与64位)。找到的sapjco3JNI库来自不同的JCo发行版,不适用于您的操作系统和/或硬件处理器。找到的sapjco3JNI库需要更高的操作系统版本。