sapjco3.jar 使用maven私服的版本问题

当使用nexus私服管理sapjco3.jar的时候,因为maven必须要指定版本的原因,必须要加上版本号,但是

当sapjco初始化环境的时候在代码里硬编码了要验证jar包的全名就出现了"java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar"

的错误。

解决办法参考:https://sourceforge.net/p/hibersap/discussion/813164/thread/52913577/

说明如下:

The check in JCo allows the jar to either be named "sapjco3.jar", to start with "com.sap.conn.jco", or to be named "sapjco3_IDE.jar". So for now I deploy the JCo jar to the Maven repository with a Maven artifactId of "com.sap.conn.jco.sapjco3" and it works.

maven的依赖使用如下写法

<dependency> <groupId>com.sap</groupId> <artifactId>com.sap.conn.jco.sapjco3</artifactId> <version>IDE</version> </dependency>

同样的,nexus私服也要按照这种方式去管理sapjco的jar包

PS:

no sapjco3 in java.library.path异常处理办法

已经把sapjcp3.jar导入到项目中;把sapjco.dll放到system32下了;
本地的写的测试程序能够成功连上SAP,一放到WEB环境下就不行了,抛出这个异常。
no sapjco3 in java.library.path,经排查
sapjco.dll必须放到TOMCAT当前使用的JRE的BIN目录中,我TOMCAT配置的JRE目录是 C:GenuitecCommoninarycom.sun.java.jdk.win32.x86_

已经把sapjcp3.jar导入到项目中;把sapjco.dll放到system32下了; 本地的写的测试程序能够成功连上SAP,一放到WEB环境下就不行了,抛出这个异常。 no sapjco3 in java.library.path,经排查 sapjco.dll必须放到TOMCAT当前使用的JRE的BIN目录中,我TOMCAT配置的JRE目录是 C:GenuitecCommoninarycom.sun.java.jdk.win32.x86_
经验分享 程序员 微信小程序 职场和发展