当使用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: