2017-03-23 10 views
0

JavaEE 애플리케이션 개발을 위해 IntelliJ를 사용하고 있습니다. 유물에는 ***** ear (EJB 응용 프로그램 및 웹 응용 프로그램) 중 약 5 개 (Coherence 응용 프로그램)가 포함됩니다.MANIFEST.MF 만 빌드하는 Ant 태스크

개미는 응용 항아리, 전쟁, 귀 등을 만드는 데 사용되었습니다.하지만 개미를 사용하여 IntelliJ가 자신의 방식대로 응용 프로그램을 빌드하거나 다시 작성할 계획이 아닙니다.

지금 어떤 시도를하고 있습니까? 개미를 사용하여 MANIFEST.MF 파일을 만들고 내 JavaEE 아티팩트를 빌드하거나 다시 빌드 할 때 내 응용 프로그램 src/META-INF /에 넣으려고합니다. IntelliJ는 IntelliJ 빌드 프로세스에 수반되는 일부 사전 처리 또는 사후 처리 앤트 작업을 수행 할 수있는 방법을 제공합니다.

나는 인터넷을 통해 build.xml과 같은 몇 가지 예제 개미 빌드 코드를 찾으려고했습니다. 불행하게도, 그들은 항아리/귀/전쟁 또는 MANIFEST.MF를 포함하는 다른 것을 만드는 것에 대해 모두 이야기하고 있습니다.

내 질문은 : 단 하나의 MANIFEST.MF를 개미로 만 만들 수있는 방법이 있습니까, 그렇다면 그 build.xml을 공유하십시오!

감사합니다.

내 스레드에 댓글을 달았던 @Santosh 친구에게 조언을 구한 다음. 나는 지금 잘 작동한다.

XML 파일의 예는 다음과 같이 :

<?xml version="1.0"?> 
<project name="OzsscJPACoherence" basedir="."> 

    <property name="projectName" value="OzsscJPACoherence" /> 
    <property name="libsSrc" value="libs"/> 
    <property name="srcDir" value="../../src"/> 
    <property name="artDir" value="../../../out/artifacts"/> 
    <property name="distDir" value="${artDir}/OzsscJPACoherence_jar"/> 
    <property name="build" value="build"/> 
    <property name="classes" value="build/classes"/> 
    <property name="jar" value="build/jar"/> 
    <property name="libs" value="build/libs"/> 
    <property name="version" value="2.5"/> 

    <tstamp> 
    <format property="TODAY" pattern="yyMMdd-HHmmss" locale="en,AU" /> 
    </tstamp> 

    <path id="classpath"> 
    <fileset dir="${libsSrc}" includes="*.jar"/> 
    </path> 

    <target name="jpacoh"> 
    <mkdir dir="${distDir}/META-INF" /> 
    <manifest file="${distDir}/META-INF/MANIFEST.MF"> 
     <attribute name="Manifest-Version" value="1.0"/> 
     <attribute name="Extension-List" value="coherence active-cache"/> 
     <attribute name="coherence-Extension-Name" value="coherence"/> 
     <attribute name="active-cache-Extension-Name" value="active-cache"/> 
     <attribute name="Built-By" value="${user.name}"/> 
     <attribute name="Specification-Title" value="${projectName}"/> 
     <attribute name="Specification-Version" value="${version}"/> 
     <attribute name="Specification-Vendor" value="StorageWay Australia"/> 
     <attribute name="Implementation-Title" value="${projectName}"/> 
     <attribute name="Implementation-Version" value="${version} ${TODAY}"/> 
     <attribute name="Implementation-Vendor" value="StorageWay Australia"/> 

    </manifest> 
    <jar manifest="${distDir}/META-INF/MANIFEST.MF" jarfile="${distDir}/OzsscJPACoherence.jar"/> 
    </target> 

</project> 

그리고 사전 처리 작업으로 관련 모듈에 개미 작업을 추가, 유물을 다시 빌드합니다. MANIFEST.MF가 제대로 작성되었습니다.

희망이 스레드는 동일한 상황에서 다른 하나를 도울 것입니다.

감사합니다.

답변

0
<target name="dist" depends="compile"> 
    <mkdir dir="${dist}/lib" /> 
     <manifest file="${build}/META-INF/MANIFEST.MF"> 
      <attribute name="Class-Path" value="MyGame.jar" /> 
     <attribute name="Main-Class" value="game.Game"/> 
    </manifest> 
    <jar manifest="${build}/META-INF/MANIFEST.MF" jarfile="${dist}/lib/MyGame.jar" basedir="${build}" /> 

</target> 
+0

의견을 보내 주셔서 감사합니다. –