> Java > java지도 시간 > 본문

Maven이 jar 패키지를 완료한 후 지정된 위치에 jar 패키지를 배치하는 방법을 Java로 구현하는 방법

王林
풀어 주다: 2023-05-13 11:46:05
앞으로
1229명이 탐색했습니다.

방법 1

maven-jar-plugin을 통해 outputDirectory 출력 경로를 지정하세요

특정 구성 파일을 제외할 수 있으며, 폴더가 없으면 자동으로 생성됩니다!

<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

<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-plugin을 통해 jar 패키지 복사

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>
로그인 후 복사

. 다음 두 가지 실행은 수정되었습니다.

는 폴더 생성 명령입니다.

는 복사 명령입니다. 여기서 todir은 이전 파일을 덮어쓰는 것이고, 는 소스 파일을 포함하는 것입니다. ;

는 파일을 이동하거나 수정하는 것입니다. 이름 명령

은 삭제 명령입니다.

    ${basedir}는 프로젝트 루트 경로를 나타냅니다.
  • ${basedir} 指的是 项目根路径

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

  • ${project.build.finalName}

    ${project.build.directory}는 대상이 위치한 디렉터리를 나타냅니다.

${project.build.finalName}은 jar 패키지 접두사 이름

방법 4

maven-antrun-plugin을 통해 포함 build.xml 파일

은 다음 구성과 같습니다.

build.xml을 프로젝트 루트 경로에 넣고, 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를 직접 구성합니다.

폴더가 없는 경우 배포 명령을 사용하여 배포합니다. , 자동으로 생성됩니다! 🎜
<distributionManagement>
    <repository>
        <id>localRepository</id>
        <url>file:D:/testRepository</url>
    </repository>
</distributionManagement>
로그인 후 복사
🎜확장: maven-dependent-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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿