我在让Java / maven项目在Jenkins中正确测试时遇到麻烦,并且在尝试使用hibersap测试与SAP的连接时失败。这是错误的代码段:
2019-06-21 13:07:22.168 INFO 17552 --- [ main]
o.hibersap.configuration.Configuration : Hibersap Version 1.3.0
2019-06-21 13:07:22.236 INFO 17552 --- [ main]
o.hibersap.execution.jco.JCoEnvironment : Using SAP JCo -
java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-06-21 13:07:22.236 INFO 17552 --- [ main]
o.hibersap.execution.jco.JCoEnvironment : Registering destination SAPConnector
2019-06-21 13:07:22.236 INFO 17552 --- [ main]
o.hibersap.execution.jco.JCoEnvironment : Registering DestinationDataProvider with JCo
java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at
com.sap.conn.jco.rt.DefaultJCoRuntime.loadJCoLibrary(DefaultJCoRuntime.java:851)
at
com.sap.conn.jco.rt.DefaultJCoRuntime.registerNativeMethods(DefaultJCoRuntime.java:444)
at com.sap.conn.jco.rt.JCoRuntime.registerNatives(JCoRuntime.java:1300)
在我看来,我需要更新java.library.path,以包含指向放置sapjco3.dll和libsapjco3.so文件的目录的路径。但是,我在努力做到这一点。
我看过这篇Set java.library.path for testing的帖子,看起来很有希望,但是提供的解决方案提供了将maven surefire或maven failsafe插件添加到pom.xml的解决方案。
我读过的一个建议的解决方案是将sapjco3.dll和libsapjco3.so文件复制到当前属于java.library.path的目录之一,但是我真的不愿意这样做。
我希望有一个解决方案,该解决方案仅适用于此一项工作,而不适用于所有工作。似乎我应该能够直接在我的工作上配置运行参数“ -Djava.library.path = / opt / my / lib”。
感谢您的帮助!