Rumah >Java >javaTutorial >Bagaimana untuk melaksanakan dalam Java bagaimana untuk meletakkan pakej balang di lokasi yang ditentukan selepas maven melengkapkan pakej balang

Bagaimana untuk melaksanakan dalam Java bagaimana untuk meletakkan pakej balang di lokasi yang ditentukan selepas maven melengkapkan pakej balang

王林
王林ke hadapan
2023-05-13 11:46:051267semak imbas

Kaedah 1

Nyatakan laluan outputDirektori melalui maven-jar-plugin

Anda boleh mengecualikan fail konfigurasi tertentu jika tiada folder, ia akan menjadi dibuat secara automatik!

<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>

Kaedah 2

Nyatakan laluan outputDirectory melalui 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>

Kaedah 3

Salin pakej jar melalui maven-antrun- plugin

Maven telah menjadi standard binaan de facto dalam industri Java, tetapi dalam beberapa kes, ia masih sangat mudah jika anda boleh menggunakan arahan Ant.

Dengan pemalam maven-antrun-plugin, anda juga boleh melaksanakan skrip Ant apabila Maven dilaksanakan, seperti yang ditunjukkan dalam konfigurasi berikut:

<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>

c94ac33d58052ea4ba2b719493f112d4 yang boleh mengubah suai maven Semasa proses pelaksanaan perintah, dua pelaksanaan berikut mengubah suai pemasangan dan bersihkan

8a8567de266ae3e91153035db7759a7c ialah perintah cetak; (di dalam folder Nampaknya tidak dicipta apabila tiada apa-apa)

797d7b8e63f3fc0bd7a5dd27123b70d6 ialah arahan salin, di mana todir ialah folder sasaran, timpa adalah untuk menulis ganti fail lama, d946e00d7e7724b1584dcabf0c1ee0cf ialah fail sumber, dcf91641426a34cf32ecc36140f28baf adalah untuk menyertakan pakej jar; padam> ialah perintah padam; terletak

merujuk kepada nama awalan pakej Jar

  • Kaedah 4

    ${basedir}

    Benamkan binaan. xml melalui maven-antrun-plugin
  • Konfigurasikan seperti berikut Seperti yang ditunjukkan: ${project.build.directory}

    Letakkan build.xml dalam laluan akar projek dan gunakan c1485bfc89f5269b1afd7d37da45b50a untuk membenamkan fail 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>
  • Kaedah 5

    ${project.build.finalName}

    Gunakan distributionManagement untuk menetapkan laluan storan

Kaedah ini tidak melepasi pemalam, tetapi mengkonfigurasi terus distributionManagement

Gunakan arahan deploy untuk mengatur ke folder sasaran Jika tiada folder, ia akan dibuat secara automatik!

<distributionManagement>
    <repository>
        <id>localRepository</id>
        <url>file:D:/testRepository</url>
    </repository>
</distributionManagement>
Sambungan: Gunakan pemalam maven-dependency-plugin untuk mengeksport pakej pergantungan ke folder yang ditentukan

Cara ini adalah untuk mengeluarkan pakej pergantungan ke laluan yang ditentukan

<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>

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan dalam Java bagaimana untuk meletakkan pakej balang di lokasi yang ditentukan selepas maven melengkapkan pakej balang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam