加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

SAP Java:java.lang.NoClassDefFoundError:com.sap.conn.rfc.d

发布时间:2021-01-08 02:33:15 所属栏目:Linux 来源:网络整理
导读:我开发了一个与SAP集成的Java Web应用程序.我用Linux Server和Tomcat 7.0开发了它.我在WEB-INF / lib文件夹中添加了sapjco3.jar和libsapjco3.so.它工作正常的本地服务器.但是在远程服务器中部署WAR文件时会产生以下错误. java.lang.NoClassDefFoundError:

我开发了一个与SAP集成的Java Web应用程序.我用Linux Server和Tomcat 7.0开发了它.我在WEB-INF / lib文件夹中添加了sapjco3.jar和libsapjco3.so.它工作正常的本地服务器.但是在远程服务器中部署WAR文件时会产生以下错误.

java.lang.NoClassDefFoundError: com.sap.conn.rfc.driver.CpicDriver
    at com.sap.conn.rfc.engine.DefaultRfcRuntime.createChannel(DefaultRfcRuntime.java:52)
    at com.sap.conn.rfc.engine.RfcIoOpenCntl.open_channel(RfcIoOpenCntl.java:1260)
    at com.sap.conn.rfc.engine.RfcIoControl.ab_rfcopen(RfcIoControl.java:85)
    at com.sap.conn.rfc.api.RfcApi.RfcOpen(RfcApi.java:83)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1107)
    at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:659)
    at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:103)
    at com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:171)
    at com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManager.java:44)
    at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:160)
    at com.sap.conn.jco.rt.RfcDestination.initialize(RfcDestination.java:754)
    at com.sap.conn.jco.rt.RfcDestination.ping(RfcDestination.java:964)
    at com.my.ciry.sap.Connection.

从Tomcat服务器ping目标时出现错误.

private JCoDestination dest;    
    public Connection(SapSystem system)  {

    dest = JCoDestinationManager.getDestination(SAP_SERVER);

            dest.ping();
}

问题的原因是什么? 最佳答案 理想情况下,您应该将libsapjco3.so文件保留在Web应用程序之外.将其放在任何仲裁位置,并将该文件夹路径添加到LD_LIBRARY_PATH环境变量. sapjco.jar可以在你的类路径中.

如果tomcat无法使用环境变量加载.so文件,则可以尝试使用System.setProperty(“java.library.path”,“folder_path_of_.so_file”);

或者尝试通过编辑tomcat配置文件来提供此变量.

最后,确保folder_path_of_.so_file具有tomcat用户所需的权限.

这将解决您的问题.

……

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读