Maven Ungewollte "Teil"-Dependency entfernen

Hi,

ich sitze gerade an einem Dependency-Problem fest und komme nicht weiter.
Das Problem ist, dass eine Dependency von mir eine Xuggler-Version mit einbezieht. Allerdings will ich eine andere Xuggler-Version verwenden, die nicht so sehr eingeschränkt ist.
Jetzt hätte ich ganz gerne, dass ich bei der Dependency sagen kann: "Hey, downloade bitte alle Jars außer der Xuggler-Jar. Die ist doof und ich will lieber meine eigene Jar benutzen".

Im Dependency-tree sieht das so aus:

+- org.openimaj:faces:jar:1.3.5:compile
| +- org.openimaj:image-local-features:jar:1.3.5:compile
| +- org.openimaj:eek:bject-detection:jar:1.3.5:compile
| | +- xpp3:xpp3_min:jar:1.1.4c:compile
| | \- xmlpull:xmlpull:jar:1.1.3.1:compile
| +- org.openimaj:FaceTracker:jar:1.3.5:compile
| | +- org.openimaj:core-video-capture:jar:1.3.5:compile
| | \- org.openimaj:xuggle-video:jar:1.3.5:compile
| | \- xuggle:xuggle-xuggler-lgpl:jar:5.5-20140728:compile <---- die blöde Jar
| | +- commons-cli:commons-cli:jar:1.1:compile
| | +- ch.qos.logback:logback-core:jar:1.0.0:runtime
| | \- ch.qos.logback:logback-classic:jar:1.0.0:runtime
....usw.
\- xuggle:xuggle-xuggler:jar:5.4:compile <---- meine Jar
Wenn ich die ganze Dependency entferne, kriege ich leider circa 400 Fehlermeldungen, weil Klassen und so fehlen. Ich kenne mich leider mit Maven nicht so richtig aus..
Geht das so, wie ich mir das vorstelle?
 
Ich habe es gelöst, indem ich innerhalb der dependency die nicht gewollten jars einfach exkludiere:

Code:
</dependency>

        <dependency>
            <artifactId>faces</artifactId>
            <groupId>org.openimaj</groupId>
            <version>1.3.5</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>xuggle</groupId>
                    <artifactId>xuggle-xuggler-lgpl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.openimaj</groupId>
                    <artifactId>xuggle-video</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 
Das ist die Lösung dafür.

Pass allerdings auf, dass du dir nicht irgendwelche Lizenzprobleme einhandelst, die excluded'e Version scheint ja eine extra LGPL-Version zu sein...
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben