Jenkins / Java / Maven作业在hibersap测试中失败

时间:2019-06-21 20:14:02

标签: java maven jenkins sapjco3

我在让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”。

感谢您的帮助!

0 个答案:

没有答案