2016-11-14 1 views
0

OpenCV 라이브러리를 사용하여 비디오를 렌더링하는 기본 프로그램을 실행하려고합니다. 필자가 얻게되는 가장 중요한 문제점 중 하나는 의존성을로드하는 동안 maven이 오류를보고한다는 것입니다. 내가 여기에서 확인한 모든 솔루션은 GitHub와 그 밖의 모든 곳에서 열매를 맺지 못했습니다. OpenCV 네이티브 라이브러리가 Maven과 함께로드되지 않았습니다.

은 pom.xml 파일

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <repositories> 
    <repository> 
     <id>javaopencvbook</id> 
     <url>https://raw.github.com/JavaOpenCVBook/code/maven2/</url> 
    </repository> 
    </repositories> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany</groupId> 
    <artifactId>mavenproject1</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.10</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.javaopencvbook</groupId> 
      <artifactId>opencvjar</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.javaopencvbook</groupId> 
      <artifactId>opencvjar-runtime</artifactId> 
      <version>3.0.0</version> 
      <classifier>natives-windows-x86_64</classifier> 
     </dependency> 
    </dependencies> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <maven.compiler.source>1.7</maven.compiler.source> 
     <maven.compiler.target>1.7</maven.compiler.target> 
    </properties> 


    <build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
     <archive> 
      <manifest> 
      <addClasspath>true</addClasspath> 
      <classpathPrefix>lib/</classpathPrefix> 
      <mainClass>com.mycompany.mavenproject1.App</mainClass> 
      </manifest> 
     </archive> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>2.1</version> 
     <executions> 
     <execution> 
      <id>copy-dependencies</id> 
      <phase>package</phase> 
      <goals> 
      <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
      <outputDirectory>${project.build.directory}/lib</outputDirectory> 
      <overWriteReleases>false</overWriteReleases> 
      <overWriteSnapshots>false</overWriteSnapshots> 
      <overWriteIfNewer>true</overWriteIfNewer> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    <plugin> 
     <groupId>com.googlecode.mavennatives</groupId> 
     <artifactId>maven-nativedependencies-plugin</artifactId> 
     <version>0.0.7</version> 
     <executions> 
     <execution> 
      <id>unpacknatives</id> 
      <phase>generate-resources</phase> 
      <goals> 
      <goal>copy</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

</project> 

않습니다 opencvjar-3.0.0.jar를 작성해야 opencvjar - 런타임-3.0.0-원주민 - 창 - x86_64.jar

이 시스템 경로 이것에 대해서도 요구된다. % PATH % 변수에서 기본 .jar 경로를 추가했습니다. 내 경우, 프로젝트가

D에 있습니다 : \ AleksandarRakic ​​\ 자바 프로젝트 \ mavenproject1

네이티브 라이브러리가

에있는 동안

D : \ AleksandarRakic ​​\ 자바 프로젝트 \ mavenproject1 \ target \ natives

NetBeans 8.2입니다.

The POM for org.javaopencvbook:opencvjar-runtime:jar:natives-windows-x86_64:3.0.0 is missing, no dependency information available 

이 지속 위의 오류에 상관없이 내가 사용 OpenCV의 어떤 버전 : 나는 다음과 같은 오류/경고를 표시 프로젝트를 빌드 &를 청소합니다. 나는 또한 3.1.0 버전을 넣으려고했지만 핵심 항아리가 없다고 말했습니다.

나는 이것을 해소하기 위해 이틀을 잃었습니다. 어떤 도움을 환영합니다.

+0

두 개의 프로젝트가 있습니까? 하나는 도서관 용이고 다른 하나는 프로젝트 용입니까? 오류의 마지막 줄을 모두 게시 하시겠습니까? – mebada

답변

0

문제는 maven 및 OpenCV 버전에서 발생했습니다.

Maven은 내가 3.0.0에 OpenCV의 버전을 설정하면 .DLL 원주민을로드 할 것이고, 나는 명백한 일을 한 버전 3.1.0

를 넣어 만든 경우 그 핵심 .JAR를로드 할 것 Maven이없는 빈 프로젝트가 올바른 라이브러리를 추가하고 정상적으로 실행되었습니다.

관련 문제