>  기사  >  Java  >  여러 JAR을 하나의 실행 가능한 JAR로 병합하는 방법은 무엇입니까?

여러 JAR을 하나의 실행 가능한 JAR로 병합하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 19:13:02635검색

How to Merge Multiple JARs into One Executable JAR?

여러 JAR을 하나로 병합

여러 JAR 파일을 단일 실행 가능 JAR로 통합하려고 할 때 개발자는 종속성 통합과 관련된 문제에 직면하는 경우가 많습니다. , 메인 클래스 매니페스트 설정 및 실행 가능성 보장. 다행히도 다양한 도구와 기술이 이 프로세스를 단순화합니다.

Ant의 Zipfileset 활용

Ant의 zipfileset 요소를 사용하면 여러 JAR 파일을 간단하게 병합할 수 있습니다. 포함 속성을 활용하면 각 소스 JAR의 특정 파일을 선택적으로 포함할 수 있습니다. jar 작업은 결합된 콘텐츠로 새 JAR 파일 생성을 처리합니다.

매니페스트 속성을 사용한 사용자 정의

메인 클래스 매니페스트를 지정하고 JAR을 실행 파일로 지정하려면 , 매니페스트 속성 작업을 활용하세요. 이 작업을 사용하면 JAR 내에서 애플리케이션의 진입점을 식별하는 Main-Class 속성을 설정할 수 있습니다. 또한 Executable 속성을 true로 설정하면 JAR 파일을 직접 실행할 수 있습니다.

Ant 사용 예

Ant 사용 프로세스를 설명하려면 아래 빌드 파일을 고려하세요.

<code class="xml"><project name="merge-jars" default="merge">

    <taskdef name="jar" classname="org.apache.tools.ant.taskdefs.Jar">
        <classpath>
            <fileset dir="${ant.home}/lib">
                <include name="*.jar" />
            </fileset>
        </classpath>
    </taskdef>

    <target name="merge">
        <jar jarfile="merged.jar">
            <manifest>
                <attribute name="Main-Class" value="my.main.Class" />
            </manifest>
            <zipfileset src="first.jar" includes="**/*.java **/*.class" />
            <zipfileset src="second.jar" includes="**/*.java **/*.class" />
        </jar>
    </target>

</project></code>

이 빌드 파일을 실행하면 "first.jar" 및 "second.jar" 파일의 내용을 통합하여 "merged.jar"이라는 새 JAR 파일이 생성됩니다. JAR은 지정된 기본 클래스로 구성되고 실행 파일로 지정됩니다.

추가 도구 및 기술

Ant 외에도 다른 도구와 접근 방식이 JAR 파일을 병합하는 데 도움이 될 수 있습니다. :

  • JarSplice: JAR 파일 병합을 단순화하고 기본 클래스를 지정하는 도구입니다.
  • 정도: 명령줄 도구 JAR 파일을 병합하고 매니페스트를 사용자 정의하는 데 도움이 됩니다.
  • Fat JAR: 필요한 모든 종속성이 단일 JAR 내에 번들로 포함되어 추가 외부 JAR이 필요하지 않은 기술입니다.
  • Maven Shade 플러그인: JAR 파일을 병합하고 종속성 충돌을 해결하는 플러그인입니다.

위 내용은 여러 JAR을 하나의 실행 가능한 JAR로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.