Maison > Java > javaDidacticiel > le corps du texte

Comment implémenter en Java comment placer le package jar à l'emplacement spécifié une fois que maven a terminé le package jar

王林
Libérer: 2023-05-13 11:46:05
avant
1214 Les gens l'ont consulté

Méthode 1

Spécifiez le chemin de sortie OutputDirectory via maven-jar-plugin

Vous pouvez exclure certains fichiers de configuration, s'il n'y a pas de dossier, il sera automatiquement créé !

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <!-- 指定打包的jar包输出路径 -->
        <outputDirectory>D:\test</outputDirectory>
        <!--不打入jar包的文件类型或者路径 -->
        <excludes>
            <exclude>**/*.properties</exclude>
            <exclude>**/*.xml</exclude>
            <exclude>**/*.yml</exclude>
            <exclude>static/**</exclude>
            <exclude>templates/**</exclude>
        </excludes>
    </configuration>
</plugin>
Copier après la connexion

Méthode 2

Spécifiez le chemin de sortie du répertoire de sortie via maven-resources-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <encoding>UTF-8</encoding>
                <!--打成jar包后复制到的路径 -->
                <outputDirectory>
                    D:\test1
                </outputDirectory>
                <resources>
                    <resource>
                        <!--项目中的路径 -->
                        <directory>src/main/resources/</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
        <!--可配置多个提取复制路径只需要 “<id>”名字不一样即可 -->
        <execution>
            <id>copy-bulid</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <encoding>UTF-8</encoding>
                <outputDirectory>
                    D:\test2
                </outputDirectory>
                <resources>
                    <resource>
                        <directory>target</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
Copier après la connexion

Méthode 3

Copiez le package jar via maven-antrun-plugin

Maven est devenu le standard de construction de facto dans l'industrie Java, mais dans certains cas, il est très pratique de pouvoir utiliser la commande Ant.

Avec le plug-in maven-antrun-plugin, vous pouvez également exécuter des scripts Ant lorsque Maven est exécuté, comme indiqué dans la configuration suivante :

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <id>install</id>
            <phase>install</phase>
            <configuration>
                <target>
                    <echo message="*******************install*******************" />
                    <mkdir dir="${basedir}/target/classes" />
                    <copy todir="../target/commons" overwrite="true">
                        <fileset dir="${project.build.directory}"
                            erroronmissingdir="false">
                            <include name="*.jar" />
                        </fileset>
                    </copy>
                    <move file="${project.build.directory}/xxxxxxx.jar"
                        tofile="${project.build.directory}/xxx.jar" />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
        <execution>
            <id>clean</id>
            <phase>clean</phase>
            <configuration>
                <target>
                    <echo message="*******************clean*******************" />
                    <delete dir="target" />
                    <mkdir dir="${basedir}/target/classes" />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Copier après la connexion

est une commande d'impression ;

est une commande de création de dossier ;

est la commande Copier, où todir est le dossier cible, écraser consiste à écraser l'ancien fichier, est le fichier source, ;

consiste à déplacer le fichier ou à le modifier. La commande de nom

est une commande de suppression

  • ${basedir} fait référence au chemin racine du projet ; ${basedir} 指的是 项目根路径

  • ${project.build.directory} 指的是 target所在目录

  • ${project.build.finalName}

${project.build.directory}</ code> fait référence au répertoire où se trouve la cible<h3></h3><p><strong><code>${project.build.finalName} fait référence au nom du préfixe du package jar

Méthode 4

intégration via maven-antrun-plugin Le fichier build.xml

est comme indiqué dans la configuration suivante :

Placez le build.xml sous le chemin racine du projet, et utilisez pour intégrer le fichier build.xml.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <id>install</id>
            <phase>install</phase>
            <configuration>
                <target>
                    <property name="compile_classpath"
                        refid="maven.compile.classpath" />
                    <property name="runtime_classpath"
                        refid="maven.runtime.classpath" />
                    <property name="test_classpath"
                        refid="maven.test.classpath" />
                    <property name="plugin_classpath"
                        refid="maven.plugin.classpath" />
 
                    <ant antfile="${basedir}/build.xml">
                        <target name="test" />
                    </ant>
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Copier après la connexion

Méthode 5

Utilisez distributionManagement pour définir le chemin de stockage

Cette méthode n'utilise pas de plug-in, mais configure directement distributionManagement🎜🎜Utilisez la commande de déploiement pour déployer dans le dossier cible s'il n'y a pas de dossier. , il sera automatiquement créé ! 🎜
<distributionManagement>
    <repository>
        <id>localRepository</id>
        <url>file:D:/testRepository</url>
    </repository>
</distributionManagement>
Copier après la connexion
🎜Extension : utilisez le plug-in maven-dependency-plugin pour exporter les packages dépendants vers le dossier spécifié🎜🎜Cette méthode consiste à afficher les packages dépendants vers le chemin spécifié🎜
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <!-- 指定输出路径 -->
                <outputDirectory>D:\test2</outputDirectory>
                <excludeTransitive>false</excludeTransitive>
                <stripVersion>false</stripVersion>
                <includeScope>runtime</includeScope>
            </configuration>
        </execution>
    </executions>
</plugin>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!