sapjco3.jar的打包问题。
前几天做一个跟SAP系统有关的小功能时,项目用到了sapjco3.jar的jar包,项目打包部署后报错
com.hand sapjco 3 system ${basedir}/src/main/resources/sap/sapjco3.jar ```
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
查资料发现要加里的内容将外部jar包打包。
打包后有出现了另一个错误
打包的时候包名变了。
在windows下:
我将sapjco3.jar拷贝到C:\Program Files\Java\jdk1.8.0_231\lib目录,然后将这个添加到环境变量path,%JAVA_HOME%\lib\sapjco3.jar.
发现windows下启动不报错。
linux下:
将sapjco3.jar拷贝到java目录的lib下,将libsapjco.so文件拷贝到$JAVA_HOME/jre/lib/amd64/server目录,并且在etc/profile里加上了:
export LD_LIBRARY_PATH=dir:
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
LD_LIBRARY_PATH:
LDLIBRARYPATH:JAVA_HOME/jre/lib/amd64/server
重新source etc/profile使其生效,还是有打包名字错误的问题,就是多了一条横杠。
最后通过以下方式解压,到boot-inf/lib下将sapjco-3名字改回sapjco3重新打包,项目才终于运行起来
1.解压
unzip xx.jar
2.移除jar包,最好备份
rm xx.jar
3.重新打包
jar -cfM0 xx.jar *
或者
jar -cvfm0 xx.jar ./META-INF/MANIFEST.MF ./
4.运行
java -jar xx.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)