Wie erstellt man ein Java-Projekt einschließlich aller Abhängigkeiten mit Maven? maven-resources, maven-dependency und maven-jar Plugins
Veröffentlicht: 2016-11-26
Arbeiten Sie an einem Java-Projekt auf Unternehmensebene? Verwenden Sie die Maven POM.xml
-Datei, um alle Abhängigkeiten auf dem neuesten Stand zu halten? Haben Sie in Ihrem Projekt src folder
, resources folder
, lib folder
usw.? Nun, was ist, wenn Sie dieses Projekt auf einem Drittanbieter-Client bereitstellen möchten? Irgendeine andere Standalone-Hardware?
Nun, es gibt eine einfache Möglichkeit, die ausführbare Datei Ihres Java-Projekts mit Maven-Plugins zu erstellen und zu erstellen. Sehen Sie sich das folgende Java-Beispielprojekt an.

Fangen wir an und lassen Sie mich alle Teile des Projekts erklären:
-
CrunchifyMavenBuildPlugins
ist ein Maven-Projekt. Wenn Sie ein Java-Projekt haben und es in ein Maven-Projekt konvertieren möchten, folgen Sie diesem Tutorial. - Wir haben zwei Ordner.
src
undresources.
- Im
resources
haben wir einen Ordner namensScripts
, der eine ausführbare Shell-Skriptdatei enthält. -
CrunchifyMain.java
ist ein Hauptstartpunkt, der die Methodemain(String args[])
enthält. -
pom.xml
-Datei, in der wir Maven-Plugins hinzufügen, die ein ausführbares .jar-Projekt mit allen enthaltenen Abhängigkeiten erstellen.
Schritt 1
Öffnen Sie Ihre pom.xml
-Datei und fügen Sie unten unter <build>
hinzu. Hinweis: Ich habe unten 3 Plugins hinzugefügt.
-
maven-resources-plugin
: Das Resources Plugin übernimmt das Kopieren von Projektressourcen in das Ausgabeverzeichnis. Die Hauptressourcen sind die Ressourcen, die dem Hauptquellcode zugeordnet sind. -
maven-dependency-plugin:
Das Abhängigkeits-Plugin bietet die Möglichkeit, Artefakte zu manipulieren. Es kann Artefakte aus lokalen oder entfernten Repositories an einen bestimmten Ort kopieren und/oder entpacken. -
maven-jar-plugin:
Dieses Plugin bietet die Möglichkeit, JAR-Dateien zu erstellen und zu signieren.
Hier ist eine vollständige pom.xml-Datei. Sie wären hauptsächlich am Tag <build> interessiert.
Bitte aktualisieren Sie den Verzeichnisspeicherort, den Dateinamen und den Pfad gemäß Ihren Anforderungen unten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
< 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 > CrunchifyMavenBuildPlugins < / groupId > < artifactId > CrunchifyMavenBuildPlugins < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < name > CrunchifyMavenBuildPlugins < / name > < properties > < project . build . sourceEncoding > UTF - 8 < / project . build . sourceEncoding > < / properties > < dependencies > < dependency > < groupId > log4j < / groupId > < artifactId > log4j < / artifactId > < version > 2.15.0 < / version > < / dependency > < dependency > < groupId > com . googlecode . json - simple < / groupId > < artifactId > json - simple < / artifactId > < version > 1.1 < / version > < / dependency > < dependency > < groupId > axis < / groupId > < artifactId > axis < / artifactId > < version > 1.4 < / version > < / dependency > < dependency > < groupId > commons - beanutils < / groupId > < artifactId > commons - beanutils < / artifactId > < version > 1.8.3 < / version > < / dependency > < dependency > < groupId > commons - collections < / groupId > < artifactId > commons - collections < / artifactId > < version > 3.2.1 < / version > < / dependency > < dependency > < groupId > commons - configuration < / groupId > < artifactId > commons - configuration < / artifactId > < version > 1.10 < / version > < / dependency > < dependency > < groupId > commons - io < / groupId > < artifactId > commons - io < / artifactId > < version > 2.4 < / version > < / dependency > < dependency > < groupId > javax . mail < / groupId > < artifactId > mail < / artifactId > < version > 1.4.7 < / version > < / dependency > < dependency > < groupId > javax . servlet < / groupId > < artifactId > servlet - api < / artifactId > < version > 2.5 < / version > < / dependency > < dependency > < groupId > org . json < / groupId > < artifactId > json < / artifactId > < version > 20140107 < / version > < / dependency > < dependency > < groupId > axis < / groupId > < artifactId > axis - saaj < / artifactId > < version > 1.4 < / version > < / dependency > < dependency > < groupId > wsdl4j < / groupId > < artifactId > wsdl4j < / artifactId > < version > 1.6.3 < / version > < / dependency > < dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 2.0 < / version > < / dependency > < / dependencies > < build > < pluginManagement > < plugins > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - compiler - plugin < / artifactId > < version > 2.3.1 < / version > < configuration > < source > 1.7 < / source > < target > 1.7 < / target > < / configuration > < / plugin > < / plugins > < / pluginManagement > < plugins > < plugin > < artifactId > maven - resources - plugin < / artifactId > < version > 2.6 < / version > < executions > < execution > < id > copy - resources < / id > < phase > validate < / phase > < goals > < goal > copy - resources < / goal > < / goals > < configuration > < outputDirectory > $ { basedir } / target / Crunchify < / outputDirectory > < resources > < resource > < directory > resources < / directory > < filtering > true < / filtering > < / resource > < / resources > < / configuration > < / execution > < / executions > < / plugin > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - dependency - plugin < / artifactId > < executions > < execution > < id > copy - dependencies < / id > < phase > prepare - package < / phase > < goals > < goal > copy - dependencies < / goal > < / goals > < configuration > < outputDirectory > $ { project . build . directory } / Crunchify / lib < / outputDirectory > < overWriteReleases > false < / overWriteReleases > < overWriteSnapshots > false < / overWriteSnapshots > < overWriteIfNewer > true < / overWriteIfNewer > < / configuration > < / execution > < / executions > < / plugin > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - jar - plugin < / artifactId > < configuration > < archive > < manifest > < addClasspath > true < / addClasspath > < classpathPrefix > lib / < / classpathPrefix > < mainClass > com . crunchify . tutorial . CrunchifyMain < / mainClass > < / manifest > < manifestEntries > < Class - Path > . < / Class - Path > < / manifestEntries > < / archive > < finalName > Crunchify / Crunchify < / finalName > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Schritt 2
Klicken Sie mit der rechten Maustaste auf Project -> Run As -> Maven Build


Schritt 3
Geben Sie das Argument „ clean install
“ an.

Schritt 4
Sie sollten ein Ergebnis wie dieses sehen.

Schritt-5
Überprüfen Sie nun den Ordner /target/Crunchify
, um alles darunter zu überprüfen.

Schritt-6
Führen Sie jetzt einfach Ihr Projekt mit dem folgenden Befehl $bash> java -jar Crunchify.jar
Lassen Sie mich wissen, wenn Sie ein Problem beim Bauprojekt haben. Viel Spaß und fröhliches Programmieren.