![](/img/trans.png)
[英]How to include only sources of maven module itself in intellij package view
[英]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.