Récemment, en raison des besoins du projet, j'ai étudié l'emballage de Maven et le projet doit être réalisé.
1. Générer 3 répertoires / lib, / conf, répertoires bin
2. Compiler et copier tous les répertoires en pot dans le répertoire / lib (y compris le package de pot de Maven et le pot dans le répertoire Lib, ainsi que les packages JAR compilés)
3. Copiez tous les scripts de démarrage du répertoire racine du projet dans le répertoire / bin
4. Copiez tous les fichiers de configuration de Src / Main / Ressources à / confr
Ce qui suit est le pom.xml configuré. J'ai commenté toutes les configurations pertinentes et vous pouvez le comprendre en un coup d'œil. Si vous copiez le nœud de construction sur votre projet, vous pouvez essentiellement l'utiliser :)
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <ModelVersion> 4.0.0 </ ModelVersion> <proupId> Test </ GroupId> <ArtefactId> test.Common </ ArtifactId> <Derson> 0.0.1-Snapshot </De version> <packaging> jar </packaging> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> </properties> <dépendances> <! - n Lines omises ici -> </deccedIrdInd> </ SourceDirector <Desources> <! - Copiez tous les fichiers du répertoire SRC / Main / Resources dans le répertoire confrental -> <ource> <Ar répertoire> SRC / Main / Resources </ Directory> <BargetPath> $ {project.build.Directory} / conf </ TargetPath> </ Resource> <!! Dans le répertoire lib) -> <ourcecing> <Arnutory> lib </ Directory> <BargetPath> $ {project.build.directory} / lib </ targetPath> </ Resource> <! - Copiez le fichier de script .sh, .bat dans le répertoire racine dans le bin répertoire -> <ourcecE> </ Directory>. </cluctory> <clut> ** / *. Bat </clure> </ incluse> <pargetPath> $ {project.build.directory} / bin </ TargetPath> </ Resource> </ Resources> <Glugins> <! - Plugin pour la compilation -> <Glugin> <proupId> org.apache.maven.plugins </prounid> <ArtefactId> Maven-Compiler-Plugin </ ArfactId> <Dersion> 3.1 </DERNIFRIGATION> <FIGIGURATION> <FORK> VRAI </FORK> <defaultlibbundledir> lib </faultlibbundledir> <source> 1.7 </source> <parget> 1.7 </ibler> <ecoding> utf-8 </coding> <! Soyez gratuit -> <Exécutable> C: / Program Files (x86) /java/jdk1.8.0_91/bin/javac.exe </Exécutable> </FIGIGURATION> </ Plugin> <! - Plugin pour générer des packages jar -> <plugin> <proupId> org.apache.maven.plugins </prandId> <ArtefactId> Maven-Jar-Plugin </ ArfactId> <Dersion> 2.6 </DERNIFRIGATION> <FIFICITION> <! - Mettez le package JAR généré dans le répertoire Lib (avec tous les autres packages JAR) -> <putputDirectory> $ {project.build.directory} / lib </ututputDirectory> <Erchive> <manifstory> <ddClassPath> true </ addClassPath> <ClassPathPrefix> lib / </sclasspathprefix> </ manifest> </ archive> <cluses> <! - Excluez certains fichiers et ne les mettez pas dans le package JAR. Il s'agit d'exclure des fichiers dans SRC / Main / Ressources (ils doivent être placés dans le répertoire conf.). Ici, vous pouvez uniquement spécifier les fichiers cibles à exclure, mais pas les fichiers source. Bien qu'ils ne soient pas parfaits, ils peuvent essentiellement atteindre l'objectif. -> <cusclude> *. xml </cutclude> <cusclude> *. Propriétés </cutclude> </cluscluses> </ configuration> </ plugin> <! - Plugin pour copier les dépendances maven -> <glugin> <proupId> org.apache.maven.plugins </prounid> <Artifactid> Maven-Dependance-plugin </ arfactID> <version> 2.10 </ version> <Executions> <Exécution> <id> Copier-Dépendents </id> <masé> Package </Sathe> <Witals> <Ojectives> Copy-DePendents </ but> </ings> </ Configuration> <! - Copier tous les packages de jar maven qui dépendent du répertoire LIB (afin que tous les packages JAR sont dans le répertoire LIB) ->> <OutputDirectory> $ {project.build.directory} / lib </ outputDirectory> </ Configuration> </Exécution> </Executions> </gingin> <! - Plugin pour copier la ressource -> <Glugin> <ProupId> org.apache.maven.plugins </prouverId> <ArtifActid> maven-Resources-plugin </prowid> <version> 2.7 </ version> <filony> <ocoding> utf-8 </coding> </ficonguration> </ plugin> <! - Configurez le plugin qui génère le jar de code source -> <plugin> <lefactive> maven-source-plagin </ artifactid> <version> 2.4 </nudérati <Coding> UTF-8 </coding> <! - Configurez le chemin de stockage du fichier de pot de code source et placez-le dans le répertoire Lib avec d'autres fichiers JAR -> </ outputdirectory> $ {project.build.directory} / lib </ outputDirectory> </FIGIGURATION> <a exécution> <phase> compile </pasing> <butard> </ Execution> </ Exécutions> </gingin> </ Plugins> </ Build> </ Project>Exécutez ensuite l'emballage du package Maven. S'il s'agit d'éclipse, entrez le package dans Project Explorer-> Exécuter comme> Maven Build…> Objectifs et cliquez sur Exécuter pour compiler.
Le script de démarrage start.bat dans le répertoire du bac peut être écrit comme ceci:
@Echo offset classpath =% java_home% / libset java =% java_home% / bin / javaset classpath =% classpath%; ../ confesse java_options = -djava.ext.dirrs = "../ lib" "% java%" -xms512m -xmx1024m -classpath "%" % Java_options% test.
au-dessus de:
Ajoutez le répertoire confr à ClassPath car le répertoire confre contient des fichiers de configuration copiés à partir de SRC / Main / Resources.
Paramètres -djava.ext.dirs = "../ lib". Parce que les forfaits JAR sont placés dans le répertoire Lib.
Ce qui précède est le contenu complet de la méthode (recommandée) pour configurer POM.xml pour utiliser Maven pour emballer des projets Java. J'espère que tout le monde pourra soutenir Wulin.com plus ~