使用 sapjco3 对接 SAP 函数 RFC

Java常用方法   2025-01-09 00:48   148   0  

一、环境配置

1、Windows 环境配置

①、sapjco3.dll 需要与 sapjco3.jar 在同一目录

image.png

②、设置系统环境变量

新建环境变量
变量名: JAVASAPJCO
变量值: D:\Program Files\sapjco3
image.png
将新建的 JAVASAPJCO 环境变量加入 系统环境变量 Path变量集合中。
%JAVA_SAPJCO%\sapjco3.jar
image.png
打开cmd,验证是否配置成功,出现弹窗即为配置成功。

java -jar "D:\Program Files\sapjco3\sapjco3.jar"

image.png

③、项目部署运行环境

  1. 32位系统:将 sapjco3.dll 加入到 c:/windows/system32 /目录 或者 将 sapjco3.dll 加入到

    /jre/bin 目录下。
  2. 64位系统:将 sapjco3.dll 加入到 c:/windows/SysWOW64/ 目录 或者 将 sapjco3.dll 加入到

    /jre/bin 目录下。

image.png

2、Linux 环境配置

①、放置 libsapjco3.so

Linux 32

将 libsapjco3.so 文件放到<JDK_HOME>/jre/lib/i386/server

Linux 64

将 libsapjco3.so 文件放到<JDK_HOME>/jre/lib/amd64


执行 echo $JAVA_HOME 后输出 jdk 部署目录,然后切换到表格中指定目录将 libsapjco3.so 文件拷贝进去。如果未配置 java 环境变量,就执行 which java 命令,再找到对应的目录。

②、给文件授权

图片1.png
如上图所示,文件所属用户应该是10,并且缺少执行权限,因此在当前目录下执行以下命令更换文件的所属用户

chown 10 libsapjco3.so
chgrp 143 libsapjco3.so

再执行以下命令赋予执行权限

chmod 755 libsapjco3.so

3、部署异常问题

①、 Can't load IA 64-bit .dll on a AMD 64-bit platform

项目编译及运行,根据自己的操作系统版本选择对应的 sapjco3 包。32位和64位不兼容。

②、java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path   ,

是因为没有找到  sapjco3.dll 这个库的路径,安装了JDK的环境中,这个库默认的位置不是在 system32 下,而是在 JDK/JRE/BIN 下面。

4、开发环境配置

①、将 sapjco3.jar 加入到项目的 build path 中

②、或者将其加入 本地 maven 库

mvn install:install-file -DgroupId=org.hibersap -DartifactId=sapjco3 -Dversion=3.0 -Dpackaging=jar -Dfile="D:\\Program Files\\sapjco3\\sapjco3.jar"

image.png
然后用以下方法在 pom 添加依赖:

<dependency>
    <groupId>org.hibersap</groupId>
    <artifactId>sapjco3</artifactId>
    <version>3.0</version>
</dependency>

image.png


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。