gpt4 book ai didi

java - 从相对路径加载java库

转载 作者:行者123 更新时间:2023-12-01 12:36:20 27 4
gpt4 key购买 nike

我编写了一个使用 OpenCV 库的 Java 程序。到目前为止,我使用 eclipse 执行了该程序(并在 eclipse 属性中设置了 Jar 位置)。

这是一个大学期末项目。我的导师现在想在他的计算机上运行该程序。如何生成一个可运行的 jar(使用 Ant 或使用 Java 代码),该 jar 将从特定位置(位于可执行 Jar 目录中的目录)加载 Java OpenCV jar,该 jar 将与 Linux 和 Windows 一起使用(我了解linux 使用 Jar 文件,Windows 使用 dll 文件)?

我尝试过使用:

String currentDir = System.getProperty("user.dir");
System.load(currentDir + "/path_to_jar/opencv-248.jar");

(我们忽略它只适用于linux这一事实)但是在执行jar时,出现以下错误:

OpenJDK 64-Bit Server VM warning: You have loaded library /path_to_jar/opencv-248.jar which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. Exception in thread "main" java.lang.UnsatisfiedLinkError: /path_to_jar/opencv-248.jar: /path_to_jar/opencv-248.jar: invalid ELF header (Possible cause: endianness mismatch)

任何帮助将不胜感激。

最佳答案

使用 java 可执行文件的类路径选项。

如果您正在运行 OpenJDK,请阅读 http://linux.die.net/man/1/java-java-1.6.0-openjdk 处的联机帮助页。

您应该能够使用以下内容:java -jar yourapp.jar -cp ./path_to_jar/

另一个选择是构建一个包含其自己的依赖项的 JAR。以下是我使用搜索词“java create jar include dependency”找到的一些示例:

Using Maven

Using Eclipse

关于java - 从相对路径加载java库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550205/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com