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

来源:互联网 发布:阿里云空间 编辑:程序博客网 时间:2024/06/06 00:35

当使用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:\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_

0 0