Maven Dependencies beim install mit in die Jar einbinden

Bitte aktiviere JavaScript!
Hi,
ich wollte einfach mal fragen, wie ich bei Maven dafür sorgen kann , dass Dependencies(MongoDBAsyncDriver) mit in die .jar gepackt werden und sie beim Aufrufen der Datei vorhaden ist, mein pom.xml Eintrag sieht so aus
Code:
 <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-async</artifactId>
            <version>3.4.0</version>
            <scope>compile</scope>
        </dependency>
Habe dem Scope schon einige Male geändert, muss ich noch irgendwas anderes einstellen ?

-Hannes
 
Code:
<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>hannes.test</groupId>
    <artifactId>Test</artifactId>
    <version>0.1</version>
    <build>
        <finalName>Test</finalName>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-async</artifactId>
            <version>3.4.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

    <repositories>
      
    </repositories>



   
</project>

So sieht die Pom in etwas aus habe sie etwas bei den Dependencies und den Repositorys gekürzt


-Hannes
 
Hey,

der genannte Link redet eigentlich viel herum, die Methoden sind jedoch schon etwas Älter und teilweise etwas kryptisch. Ich würde Maven Shading empfehle, ganz direkt. Zum einen gibt mykong auch hierzu etwas her: https://www.mkyong.com/maven/create-a-fat-jar-file-maven-shade-plugin/ und zum andern kann man sich mal https://stackoverflow.com/questions/36093084/include-dependency-in-maven-shade-plugin sowie https://stackoverflow.com/questions/34829787/how-to-use-maven-shade-to-build-jar-and-war und https://maven.apache.org/plugins/maven-shade-plugin/ ansehen.

Mit freundlichen Grüßen
Sasuke
 
Hey,

danke für eure Antworten.
Nachdem ich mein lokales Repository gelöscht habe, habe ich keinen XML-Parser-Fehler mehr erhalten.
Dann meckerte er rum, dass er etwaige Klassen nicht mehr finden, wenn ich "mvn package" aus dem cmd heraus starte. Dies lag an einer Jar sowie von ihr abhängige Nativen Code, die ich über die IDE eingebunden hatte. Dies habe ich über Maven gelöst, indem ich diese ins lokale Repo geschickt habe.

Allerdings lässt sich die exectuble Jar immer noch nicht ausführen. Es passiert nichts :(

Es handelt sich um OpenCV, das ich wie folgt in der POM hinzugefügt habe

Code:
 <dependency>
            <groupId>opencv320</groupId>
            <artifactId>com.dtk</artifactId>
            <version>3.20</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/resource/jars/opencv-320.jar</systemPath>
        </dependency>
Mein Assembly-Plugin habe ich wie folgt geändert:
Code:
 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-4</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>main.MainFX</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
Beim Starten der Jar-with-dependencies passiert jedoch wie gesagt nichts. Es kommt auch keine Fehlermeldung, was ich schade finde.
Meine Vermutung ist, dass die dll-Datei fehlt. Wie kann ich diese denn einbinden?
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben