我使用jni来调用.so(共享库)。junit4测试原生方法
在执行环境中一切正常。
但我很想在它们上添加一些单元测试。
我具有取决于libUtil_Cade.so
我用maven2.2.1与神火插件,我在pom.xml文件中添加了一个libCBareme.so:
<configuration>
<forkMode>once</forkMode>
<workingDirectory>target</workingDirectory>
<argLine>-Djava.library.path=${project.basedir}/src/test/resources/om_lib/</argLine>
</configuration>
我加入的System.out。的println(System.getProperty( “的java.library.path”));如下图所示,路径正常。
但是当我启动测试,我得到:
TrtBaremeTest Time elapsed: 3.032 sec <<< ERROR!
java.lang.UnsatisfiedLinkError: /data/tmp/pam/workspace/CTR_SCA/OutilsMetier/src/test/resources/om_lib/libCBareme.so: libUtil_CADE.so: cannot open shared object file: No such file or directory
此目录中
我有
LS /数据/ tmp目录/ PAM /工作区/ CTR_SCA/OutilsMetier/src目录/测试/资源/ om_lib /*.so /data/tmp/pam/workspace/CTR_SCA/OutilsMetier/src/test/resources/om_lib/libCBareme.so /data/tmp/pam/workspace/CTR_SCA/OutilsMetier/src/test/resources/om_lib /libUtil_CADE.so
为什么我的单元测试说cannot open shared object file
?
我不会在%JAVA_HOME%\ bin中添加.so,因为它是单元测试,所以我不想依赖于平台。
有人有想法解决这个问题吗?
非常感谢