一尘不染

“ Java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java320”

jenkins

我有一个硒测试,完成后可以使用OpenCV进行一些操作。使用IntelliJ
IDEA,它可以正常工作,并且可以正确执行操作,但是当我尝试通过命令行执行(供Jenkins在不久的将来使用)时,出现上述错误:

“ Java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java320”

我在这里阅读了其他问题,并已将java.library.path设置为jar和dll文件所在的路径,但是错误仍然出现,并且我的想法不多了。

请你帮助我好吗?

谢谢!


阅读 690

收藏
2020-07-25

共1个答案

一尘不染

请在下面找到有效的代码段。您需要适应您的需求。

假设以下文件结构

libs\opencv_java320.dll
pom.xml
src\test\java\sub\optimal\OpenCVTest.java

pom.xml- 测试部分

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <argLine>-Djava.library.path=${project.basedir}/libs/</argLine>
            </configuration>
        </plugin>
    </plugins>
</build>

子\最优\ OpenCVTest.java

package sub.optimal;
import org.junit.Test;
public class OpenCVTest {
    @Test
    public void someOpenCVTest() {
        System.out.printf("java.library.path: %s%n",
                System.getProperty("java.library.path"));
        System.loadLibrary("opencv_java320");
    }    
}

运行测试

mvn compile test

输出

...
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running sub.optimal.OpenCVTest
java.library.path: X:\develop\opencv-demo/libs/
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: ...
...
2020-07-25