2017-02-13 4 views
0

私は私ののMavenのjavaプロジェクトにOpenCVの 3.2.0が含まれるようにhttps://github.com/patternconsulting/opencvを使用しています。Mavenのjava.lang.NoClassDefFoundErrorが:NU /パターン/ OpenCVのエラー

私が直面しています問題は、私はjarファイルを生成するためにmvn installを使用して、jarファイルjava -jar app.jarを実行すると、私は次のエラーを取得ことです:以下

Exception in thread "main" java.lang.NoClassDefFoundError: nu/pattern/OpenCV 
    at com.example.Application.<clinit>(Application.java:21) 
Caused by: java.lang.ClassNotFoundException: nu.pattern.OpenCV 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

を私のpom.xmlの抽出物でありますファイル

 <dependency> 
      <groupId>org.openpnp</groupId> 
      <artifactId>opencv</artifactId> 
      <version>3.2.0-1</version> 
     </dependency> 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>3.0.2</version> 
       <configuration> 
        <archive> 
         <manifest> 
          <addClasspath>true</addClasspath> 
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
          <mainClass>com.example.Application</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

以下は、mainメソッドを持っている私のクラスの抽出物である:

public class Application { 

    static { 
     OpenCV.loadShared(); 
    } 


    public Application() throws Exception { 
     // some code here 
    } 

    public static void main(String[] args) { 
      new Application(); 
    } 

何が起こっているのか、どのように解決するのか?

おかげ

答えて

1

依存関係を自動的にjarファイル、唯一の自分のコードに追加されません。

この問題を最初に抱えていないため、いくつかの選択肢があります。あなたの現在のスキルレベルでは、代わりにuber-jarを作成することをお勧めします(すべての依存関係もjarファイルに入ります)。

https://stackoverflow.com/a/1834905/53897をご覧ください。詳細はこちらからどうぞ。

関連する問題