我一直试图通过命令行执行一个jar文件,但是我仍然遇到一个例外情况,即我已经错过了一个库,即使它已被正确添加,因为它已经显示here。我试图运行我的代码的库是opencv的lib。我能够从intellij运行我的应用程序并生成一个jar工件,当我添加opencv lib但是当我尝试使用" java从命令行运行应用程序时,我可以看到jar增大了-jar Test.jar"我得到的消息是我错过了opencv库。
rinaldi@rinaldi-work:~/Projects/Test/out/artifacts/Test_jar$ java -jar Test.jar Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java310 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 HelloWorld.<clinit>(HelloWorld.java:14)
at Main.main(Main.java:4)
我还试图运行应用程序添加opencv库的路径:
:~/Projects/Test/out/production/Test$ java -cp .:~/Sources/opencv-master/build/bin/opencv-310.jar Main
另一种尝试是因为opencv不仅需要它的jar,还需要/ opencv-master / build / lib /目录:
:~/Projects/Test/src$ java -cp :/home/rinaldi/Sources/opencv-master/build/bin/opencv-310.jar:/home/rinaldi/Sources/opencv-master/build/lib/ Main
以下是来自intellij配置的图片。
答案 0 :(得分:0)
我不得不这样添加库:
java -jar -Djava.library.path=/home/rinaldi/Sources/opencv-master/build/lib test.jar
希望这有助于某人。