【问题标题】:How to include opencv in an intellij sub module (maven)如何在 intellij 子模块(maven)中包含 opencv
【发布时间】:2018-02-09 01:00:09
【问题描述】:

我正在使用带有 maven 的 IntelliJ IDE。我有一个带有父 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

有什么建议可以解决这个问题吗?

【问题讨论】:

    标签: java maven opencv intellij-idea


    【解决方案1】:

    好的,我自己找到了解决方案。问题是,opencv java 包装器包含在系统路径中。现在我在 validate live cycle 步骤中使用了 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 中似乎有问题。

    【讨论】:

      【解决方案2】:

      尝试将以下依赖项添加到您的 ModuleA:

      <dependency>
          <groupId>nu.pattern</groupId>
          <artifactId>opencv</artifactId>
          <version>2.4.9-7</version>
      </dependency>
      

      【讨论】:

      • 问题不在于 opencv 依赖,我已经有了它,查看本地存储库显示,那里一切正常。我想如果它无法解决 opencv 依赖项,它无论如何都会编译。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2018-07-11
      • 2014-02-10
      • 2014-06-09
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多