java - 如何在 intellij 子模块中包含 opencv (maven)

标签 java maven opencv intellij-idea

我将 IntelliJ IDE 与 maven 一起使用。我有一个带有父 pom 的项目(主模块),其中包括 2 个子模块,每个子模块都有自己的 pom。

<!-- main pom module part -->
<packaging>pom</packaging>
<modules>
    <module>ModuleA</module>
    <module>ModuleB</module>
</modules>

<!-- example for sub module pom -->
<parent>
    <artifactId>main-module</artifactId>
    <groupId>my.main.module</groupId>
    <version>0.5.0</version>
</parent>

Image ModuleA 包含 OpenCV Java 包装器,而 ModuleB 是使用 ModuleA 的可执行 java 程序(具有主类)。

编译工作正常,但是当我在启动器中设置库路径的情况下运行 ModuleB 时,我将收到 ModuleA 的以下错误:

java.lang.NoClassDefFoundError: org/opencv/core/Core

有什么解决办法吗?

最佳答案

好的,我自己找到了解决方案。问题是,opencv java 包装器包含在系统路径中。现在,我改为在验证实时周期步骤中使用 maven 安装插件。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <groupId>org.opencv</groupId>
                        <artifactId>opencv</artifactId>
                        <version>3.3.0</version>
                        <packaging>jar</packaging>
                        <file>${project.basedir}/../lib/opencv/opencv-330.jar</file>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

对我来说工作正常,但不是我想要的方式......系统路径类型依赖性在 maven 中似乎有问题。

关于java - 如何在 intellij 子模块中包含 opencv (maven),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45975216/

相关文章:

java - 的意义?在泛型中

maven - maven 如何处理多个 <repository> 配置?

java - Java中两个类共享静态变量

java - Eclipse 中的项目设置错误

java - Intellij IDEA - org.apache.jasper.JasperException : Unable to compile class for JSP

c++ - 如何在 OpenCV 中使用双类型映射进行重新映射

python - 在 C++ 中使用来自 OpenCV 矩阵的特征将图像旋转 90 度

c++ - 程序在 visual studio 中启动时看不到文件

java - 使用存储库的异步方法中的 Spring InvalidDataAccessApiUsageException

java - 在 debain 6.0.1 亚马逊 EC2 实例中安装 selenium webdriver