簡體   English   中英

如何在intellij子模塊(Maven)中包含opencv

[英]How to include opencv in an intellij sub module (maven)

我正在將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>

映像ModuleA包含OpenCV Java包裝器,而ModuleB是使用ModuleA的可執行Java程序(具有主類)。

編譯工作正常,但是當我在啟動器中設置了庫路徑的情況下運行ModuleB時,ModuleA會收到以下錯誤消息:

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

任何建議如何解決此問題?

好的,我自己找到了解決方案。 問題是,系統路徑中包含了opencv java包裝器。 現在,我在validate live cycle步驟中使用了maven install插件。

<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中存在問題。

嘗試將以下依賴項添加到您的ModuleA:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM