mac系统下使用sapjco导致maven中依赖的jar包无法引入

来源:互联网 发布:g71循环编程实例 编辑:程序博客网 时间:2024/05/17 22:46

昨天,由于工作需要,需要去接触另一个项目,这个项目在我刚来公司的时候做过一个小的功能,之后就没有再接触过,就在昨天需要重新搞一个东西出来,但是发现项目运行不起来,jar包都引入不了,经过一番摸索也是毫无头脑,只知道问题表现形式,但是找不到问题的原因。

问了下同事,同事竟然也出现过这样的问题,跟我说了下问题可能出现的原因,又一起开始搞,功夫不负有心人,终于搞出来了,特在此分享下!

【一个人要不断努力没错,但是适时也要虚心请教别人,会让自己少走许多弯路】


问题描述:

OS X EI Capitan  版本10.11.3

这是当前我系统最新版本,在此版本前有可能使用sap不会出现问题,当升级到当前版本的系统的时候

1、会导致maven中pom文件里所有的jar包都无法引入

2、并伴随着会出现sap下CpicDriver找不到。

问题原因:

低版本的mac在/usr/lib下面会自动加入调用rfc接口的jar依赖,由于mac系统升级导致安全性变得更强,使得mac本身不具备此项功能

解决方案:

步骤1:

首先需要下载sapjco(附件如下),下载完成之后需要把解压后的文件中libsapjco3.jnilib文件加入/usr/lib下

那么问题来了:(会提示你没有权限Operation not permitted)

我们需要进入root权限,copy,如果还是提示没有权限,就是因为 El Capitan 加入了Rootless机制,不能够用root权限随意读写了(Rootless机制将成为对抗恶意程序的最后防线)

此时我们需要重启电脑,在启动的时候摁住command+R,会进入恢复模式,点击菜单栏里面的终端,输入如下命令csrutil  disable命令去关闭Rootless,重新启动即可。(如果想恢复,同样的方式输入csrutil  enable命令

详细csrutil请见http://www.jianshu.com/p/22b89f19afd6

启动完成之后重新执行cp命令,复制成功

步骤2:

配置环境变量,在配置文件中添加

#sapjco

export DYLD_LIBRARY_PATH=/usr/lib

步骤3:

重新maven  install会发现所有的jar都已经引入

如果步骤3执行后,还是无法引入jar包,建议先把pom文件中sap相关包配置删除掉,重新引入其他包。


PS:

如果maven项目中还是无法引入sap相关的jar包是,最后就只能在Dependencies中手动将解压出来的sapjco3.jar添加到依赖中



至此:问题解决!

1 0
原创粉丝点击