Auf Thema antworten

Hi,


ich habe hier ein Maven JavaFX Project, das mehrere Maven Dependencies bezieht, außer OpenCV, das ist in der IDE konfiguriert, was mich eigentlich ärgert, aber egal.

Mein Problem:

OpenCV ist als User Library in Eclipse eingebunden


[ATTACH]9888[/ATTACH]


Über Rechtsklick auf mein Project -> Build Path -> Add Library -> User Library ....

habe ich es dann ins Project eingebunden. Da ich mich mit Maven etwas mehr vertraut machen wollte als nur Dependencies hinzuzufügen, habe ich mal ein build aus Eclipse heraus gemacht mit den goals "clean install". Und zack, Compilation Error:


Er behauptet, alles was von OpenCV sei, existiere nicht.

  • package org.opencv.core does not exist
  • Und Klassen:

Was seltsam ist: Nachdem ich den build mache, sieht die OpenCV Lib irgendwie etwas seltsam auf vom Aufbau her:


[ATTACH]9889[/ATTACH]


Irgendwie ist opencv in opencv gepackt worden?


Wenn ich opencv vom Project entferne und wieder neu einbinde ins Project, dann funktioniert zumindest nur das install. Wenn ich vorher cleane, habe ich obiges Problem.

Ich kann es genau 1 Mal installen, danach fliegen nur noch Exceptions.

Also soll ich wieder opencv entfernen und neu einbinden ... ?


Also meine pom.xml ist sehr minimalistisch und enthält neben groupId und artifactId folgende Einträge:

[code]<properties>

        <maven.compiler.source>1.8</maven.compiler.source>

        <maven.compiler.target>1.8</maven.compiler.target>

    </properties>

    <build>

        <sourceDirectory>src</sourceDirectory>

        <resources>

            <resource>

                <directory>resource</directory>

                <excludes>

                    <exclude>**/*.java</exclude>

                </excludes>

            </resource>

        </resources>

        <!-- <plugins> -->

        <!-- <plugin> -->

        <!-- <artifactId>maven-compiler-plugin</artifactId> -->

        <!-- <version>3.6.1</version> -->

        <!-- <configuration> -->

        <!-- <source>1.8</source> -->

        <!-- <target>1.8</target> -->

        <!-- <mainClass>main.MainFX</mainClass> -->

        <!-- <compilerArguments> -->

        <!-- <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath> -->

        <!-- </compilerArguments> -->

        <!-- </configuration> -->

        <!-- </plugin> -->

        <!-- </plugins> -->

    </build>

    <dependencies>

.....

</dependencies>

.....[/code]


Ich habe schon das <exclude> Element auskommentiert, um zu sehen ob es funktioniert, aber erfolglos.

Denn wenn die Klassen nicht kompiliert werden, kann ich die Anwendung nicht starten, da die Main-Klasse (aufgrund fehlender class-Datei) nicht gefunden werden konnte.

Hat jemand eine Ahnung, woran das liegen könnte?



Oben