使用命令行和外部lib在ide之外运行jar时出错

时间:2015-06-16 07:29:38

标签: java windows opencv executable-jar

我有一个正在处理我的ide的程序(Eclipse Luna Service Release 2(4.4.2))。现在我想在没有Eclipse的情况下执行它,以便能够在其他计算机上运行它。

我使用export projet将它从eclipse导出到一个jar文件中,指定了这个清单:

- @books.each do |book|
  - cache book, skip_digest: true do
    = book.title
    = book.author

两个文件RecupPhoto.jar和opencv-300.jar都在同一个文件夹中,我已经检查了java路径,jre和jdk。

我的问题是当我执行时:

Manifest-Version: 1.0
Main-class: RecupPhoto
Class-path: opencv-300.jar

在jar文件夹中有一个.bat文件我收到了这个错误:

java -jar RecupPhoto.jar

我不是错误的专家等但我明白“opencv_java300”有错误,但我不明白这个错误,因为我没有得到这个导入与“java”中间的名。

以下是错误的loadlibrary,以防它可以提供帮助:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java300 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at Ihm.<init>(Ihm.java:89)
    at RecupPhoto.main(RecupPhoto.java:10)

(core是opencv库的一个包)。

所以欢迎任何想法/帮助! (抱歉我的英语不好)

1 个答案:

答案 0 :(得分:1)

我在bat文件中缺少dll的路径, 新的电话是:

  java "-Djava.library.path="C:\opencv\build\java\x64 -jar RecupPhoto.jar