openIMAJ缺少类或错误的库

时间:2016-04-07 19:38:27

标签: java maven xuggle openimaj

我正在做this并且我遇到了问题。

这是我的代码

package vid;

import java.io.File;

import org.apache.log4j.BasicConfigurator;
import org.openimaj.image.MBFImage;
import org.openimaj.video.Video;
import org.openimaj.video.xuggle.XuggleVideo;

public class Movie{

    public static void main(String[] args){
        BasicConfigurator.configure();
        Video<MBFImage> video;
        video = new XuggleVideo(new File("in.flv"));

        for (MBFImage mbfImage : video) {
            //something
        }
        video.close();
    }   
}

当我运行它的时候我就是gettig

21:18:51.520 [main] DEBUG com.xuggle.xuggler - Could not open output url: file:/D:/Workspace/openIMAJ/in.flv (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:436)
1 [main] INFO org.openimaj.video.xuggle.XuggleVideo  - URL file:/D:/Workspace/openIMAJ/in.flv could not be opened by ffmpeg. Trying to open a stream to the URL instead.
Exception in thread "main" java.lang.NoClassDefFoundError: org/openimaj/io/InputStreamObjectReader
at org.openimaj.video.xuggle.XuggleVideo$MBFImageConverter.toImage(XuggleVideo.java:264)
at com.xuggle.mediatool.MediaReader.dispatchVideoPicture(MediaReader.java:600)
at com.xuggle.mediatool.MediaReader.decodeVideo(MediaReader.java:519)
at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:475)
at org.openimaj.video.xuggle.XuggleVideo.readFrame(XuggleVideo.java:482)
at org.openimaj.video.xuggle.XuggleVideo.hasNextFrame(XuggleVideo.java:577)
at org.openimaj.video.VideoIterator.hasNext(VideoIterator.java:59)
at vid.Movie.main(Movie.java:17)
Caused by: java.lang.ClassNotFoundException: org.openimaj.io.InputStreamObjectReader
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more

我的pom.xml(很长,所以我把它保存在pastebin上)。 openIMAJ的不同部分有很多依赖关系,因为我已经失去了做什么的轨道。我试图在this之后下载libs,但是当我添加除核心之外的其他文件时,我正在

Missing artifact org.openimaj:video:jar:1.0.6-SNAPSHOT

最后一个站点上提供的Libs与Maven Central Repository上的Libs不同。 所以,我的问题是,在哪里可以找到所需类的库(或者哪一个来自MCR可以提供帮助)?或者libs与openIMAJ网站上的教程兼容。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

为什么要定义<sourceDirectory>src</sourceDirectory>?这样就不使用Maven广泛接受的默认${project.basedir}/src/main/java

OpenIMAJ Wiki page的最新更新来自Sep 2012。我会选择latest release version 1.3.1 from Sep 2014 on Maven Central

如果你真的想使用快照:core的版本1.0.6-SNAPSHOT是从2013年开始的。有1.4-SNAPSHOT只有一个月左右。这也可能适用于other core-... libs。我建议使用最新的。