[Ant]如何将.so文件添加到jar中并在jar中使用它(设置java.library.path)?

2023-12-01

全部。我正在尝试做一个捆绑罐含有Sigar库,它使用.so作为本机支持。我已经拉上拉链了Sigar进入 my.jar,当我从 cmd 运行它时,我必须输入如下内容:

java -jar -Djava.library.path=~/path/to/lib/contains/so  my.jar

是的,这可行,但我想建立一个捆绑罐,也就是说,将 .so 包含到 jar 中并在 jar 中使用它。所以我的问题是:如何设置指向该 jar 中的 .so 文件的 java.library.path。最后,我想让它像

java -jar my.jar (*)// hope to run it in this way

My build.xml好像:

 27     <target name="jar" depends="compile">
 28         <mkdir dir="${jar.dir}"/>
 29         <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
 30             <zipgroupfileset dir="${lib.dir}" includes="*.jar"/>
 31             <fileset dir="${lib.dir}"  includes="*.so"/>
 32             <fileset dir="${lib.dir}" includes="*.dylib"/>
 33             <manifest>
 34                 <attribute name="Main-Class" value="${main-class}"/>
 35             </manifest>
 36         </jar>
 37     </target>

到目前为止,当我使用 run it in 时,我刚刚得到 UnsatisfiedLink 异常(*) way.

另一个相关问题是:如何将文件添加到 jar 中的特定位置。在上面的例子中,<fileset dir="${lib.dir}" includes="*.so"/>会将 *.so 放在 jar 的根目录中,如果我想更改它怎么办?

提前致谢!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Ant]如何将.so文件添加到jar中并在jar中使用它(设置java.library.path)? 的相关文章

随机推荐