一、解决SpringBoot项目使用sapjco依赖jar包的冲突问题

1.1 背景
SpringBoot与sapjco.jar的冲突问题。

It is not allowed to rename or repackage the original archive “sapjco3.jar”

但实际上这个sapjco的问题是可以被解决的。

1.2 解决方法
在IntelliJ IDEA中使用package工具打包SpringBoot项目为jar包

使用解压工具打开该jar包,进入BOOT-INF/lib文件夹,将sapjco3-3.0.12.jar手动重命名为sapjco3.jar

把jar包通过XShell传至Linux服务器上,使用java -jar xxx.jar命令运行,便可正常启动SpringBoot项目。
而且不会再出现下述BUG了:

It is not allowed to rename or repackage the original archive “sapjco3.jar”

但新的BUG将会出现,接着往下阅读。

二、解决Linux中的java库中没有sapjco的问题

2.1 背景
使用Postman调用访问SAP的HTTP接口时,后端返回以下错误:

java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path

错误提示当前系统的java类库路径中没有sapjco3,所以需要为系统加上sapjco3。

2.2 解决方法
2.2.1 修改环境变量
linux下查看jdk安装路径
执行此步骤之前请确保当前系统已经装好JDK,并配好JDK的环境变量。
编辑环境变量

vim /etc/profile

将最后部分export(用户设置或显示环境变量)部分修改为如下所示(根据自己JDK的实际安装目录修改):

export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
export CLASSPATH=$JAVA_HOME/lib
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server

LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

2.2.2 上传sapjco.jar和libsapjco.so至环境变量中的配置路径

根据环境变量中的配置路径提示,将libsapjco3.so上传至$JAVA_HOME/jre/lib/amd64/server文件夹下,将sapjco3.jar上传至$JAVA_HOME/lib下

注意,执行完上述两个步骤后,需要执行:

source /etc/profile

使得新的环境变量生效。

文章转自

It is not allowed to rename or repackage the original archive “sapjco3.jar“相关推荐

  1. Java集成Sap/Erp产生的sapjco包重命名/rename问题及解决方案

    背景 公司要从erp拿数, 所以集成一下sapjco3进行连接. 初次集成在本地是没有问题的, 但是打包之后运行会出现 Caused by: java.lang.ExceptionInInitiali ...

  2. Springboot整合SAPJCO采坑

    Springboot整合SAPJCO 环境配置 包管理 创建连接 代码调用 开发踩坑 部署采坑 环境配置 参考: https://blog.csdn.net/tuohuang0303/article/ ...

  3. vista下安装delphi7

    本文整理自http://www.myispace.cn/clips/42270fae94e64fe6b92e2c6dca0fa301.htm 安装: Vista下安装delphi7,出现了错误提示&q ...

  4. 服务器使用——解压常见文件tar、zip、rar等

    服务器使用--解压常见文件tar.zip.rar等 一.解压文件 1.tar文件 tar -cf all.tar *.jpg # 这条命令是将所有.jpg的文件打成一个名为all.tar的包.-c是表 ...

  5. 如何在linux下解压缩rar格式的文件压缩包

    前言:没有特殊原因,文档如果要传到linux上,一定要打成*.zip格式, 这样方便解压,一般来说没有理由要用rar.关于 linux上unzip命令有空细讲, 本节讲下,如何让linux支持解压缩r ...

  6. 提取Jar2Exe源代码,JavaAgent监控法

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 最近遇见一个麻烦,明明知道是java写的小软件,但是打包成了exe,木得办法,之前打包的都有缓存能在TEMP文件夹找到. ...

  7. 彻底透析SpringBoot jar可执行原理

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 作者:plz叫我红领巾 juejin.im/post/5d2d6812e51d45777b1a ...

  8. SpringBoot面试题(持续整理中……)

    Spring Boot 是微服务中最好的 Java 框架.为了更好的理解与使用SpringBoot,同时,为了记录平时的点点滴滴,便于日后的面试! 1.什么是SpringBoot? 用来简化Sprin ...

  9. security面试_精选41 道 Spring Boot 面试题,附答案!

    今天跟大家分享下SpringBoot 常见面试题的知识. 1 什么是springboot ? 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件 ...

最新文章

  1. 中国发展研究基金会联合百度发布智能经济白皮书:新基建是助燃剂,其势已成...
  2. [系统安全] 四十四.APT系列(9)Metasploit技术之基础用法万字详解及防御机理
  3. 主存和cache每一块相等_笔记:cpu中的cache(一)
  4. 一个XML转换的例子
  5. java中asl_带你认识绕不开的ASLR
  6. Pocket Gem OA: Path Finder
  7. 精通Server 2008多元密码策略之PowerShell篇
  8. 477. 汉明距离总和
  9. 解压版(绿色版)Tomcat配置
  10. node2vec 图向量
  11. 激活navicat提示rsa public key not find的问题
  12. 变色龙引导安装mac
  13. 线性表的链式存储结构——链表及其操作(创建,查找,插入,输出,删除)
  14. C#简单实现摄影测量后方交会
  15. Flutter 布局报错The following assertion was thrown during performLayout():
  16. 使用TeamViewer远程连接Android手机并控制
  17. 谷歌浏览器提示“喔唷,崩溃啦!”
  18. 快手 网络安全工程师 二面总结(归档,凉经)
  19. LeetCode-求一个集合的子集
  20. Word 模板渲染引擎-Poi-tl - 标签(二)

热门文章

  1. Golang之slice操作
  2. servlet的一些简单理解
  3. Nuget包制作最佳解决方案
  4. todo:过几天熟悉下Github
  5. TypeError: Cannot red property 'style' of null 错误解决
  6. linux系统进程的内存布局
  7. tomcat访问软链接资源
  8. STM32学习笔记——DMA控制器(向原子哥学习)
  9. python嵌入到C++中
  10. 网页服务器知识,HTML网页服务器的知识点