ホームページ  >  記事  >  Java  >  Maven が jar パッケージを完成させた後、指定された場所に jar パッケージを配置する方法を Java で実装する方法

Maven が jar パッケージを完成させた後、指定された場所に jar パッケージを配置する方法を Java で実装する方法

王林
王林転載
2023-05-13 11:46:051193ブラウズ

方法 1

maven-jar-plugin を通じて出力ディレクトリの出力パスを指定します

特定の構成ファイルを除外できます。フォルダーがない場合は、自動的に作成されました!

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

方法 2

maven-resources-plugin を介して OutputDirectory 出力パスを指定します

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

方法 3

maven-antrun- を介して jar パッケージをコピーしますplugin

Maven は Java 業界の事実上のビルド標準となっていますが、場合によっては、Ant コマンドを使用できると依然として非常に便利です。

maven-antrun-plugin プラグインを使用すると、次の構成に示すように、Maven の実行時に Ant スクリプトをさらに実行できます:

<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 は実行可能コマンドですコマンド実行プロセス中に、次の 2 つの実行によりインストールとクリーンが変更されます。

8a8567de266ae3e91153035db7759a7c は印刷コマンドです。

b4d0f8a693a26aba7702f1d3a4b09dcb はフォルダー作成コマンドです。 ; (フォルダ内 何もない場合は作成されないようです)

797d7b8e63f3fc0bd7a5dd27123b70d6はコピーコマンド、todirは対象フォルダ、overwriteは古いファイルを上書きする、3fe7048cd5668c3feb3d3938477fd001 はソース ファイル、dcf91641426a34cf32ecc36140f28baf は含まれる jar パッケージ、

cf33f54f92efff0f86f9ed9ee073eee9 はファイルを移動または名前を変更するコマンド

406eacb183a2d6fe6f63acd6647917ca は削除コマンドです。

  • ${basedir} はプロジェクトのルート パス

  • を指します。 ${project.build.directory} は、ターゲットが配置されているディレクトリを指します。

  • ${project.build.finalName} は、jar を指します。パッケージプレフィックス名

方法 4

maven-antrun-plugin を通じて build.xml ファイルを埋め込みます

次のように次の構成:

build.xml をプロジェクトのルート パスに配置し、051b9ea6ed734e760f40cebe431f3387 を使用します。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>

メソッド 5

distributionManagement を使用してストレージ パスを設定します

このメソッドはプラグインを使用せず、distributionManagement を直接構成します

deploy コマンドを使用して対象のフォルダーにデプロイします (フォルダーがない場合は自動的に作成されます)。

<distributionManagement>
    <repository>
        <id>localRepository</id>
        <url>file:D:/testRepository</url>
    </repository>
</distributionManagement>

拡張機能: maven-dependency-plugin プラグインを使用して、依存パッケージを指定されたフォルダーにエクスポートします

このメソッドは、依存パッケージを指定されたパスに出力します

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

以上がMaven が jar パッケージを完成させた後、指定された場所に jar パッケージを配置する方法を Java で実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。