SORU
30 Kasım 2009, PAZARTESİ


Karınca ile paket jar oluşturma

Karınca bazı Java projeleri oluşturmak için kullanıyorum.
Bazı dış bağımlılıkları içeren lib/ bir dizin JAR dosyaları şeklinde var.

Sırasında inşa, oluşturmak bir paket kavanoz, içeren projenin kodu, yanında bağımlılıklar, ekleyerek için paket jar dosyası zipfileset Her kavanoz içinde lib/ dizin.

Sorun, her zaman eklerim bir kavanoz veya adlarını değiştirin, ihtiyacım var hatırlamak güncelleme build.xml dosyası olarak bulamadım bir ekleme o zipfilesets otomatik bir şekilde yer alacak tüm kavanoz belirli bir desen (örneğin lib/*.jar).

Bunu yapmanın daha iyi bir yolu var mı?

Bunun için kendi Karınca benim görevim yazmak, yoksa Harika karınca bunu yapmak için API programlı olarak kullanarak düşündüm, ama bu "" karınca. vanilya kullanarak yapmanın bir yolu varsa merak ettim

Teşekkürler!

CEVAP
30 Kasım 2009, PAZARTESİ


Hedefim, böyle bir şey var:

<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
    <zipgroupfileset dir="dist" includes="*.jar"/>
    <zipgroupfileset dir="dist/lib" includes="*.jar" excludes=""/>

    <manifest>
        <attribute name="Main-Class" value="${main.class}"/>
        <attribute name="Class-Path" value="${mf.classpath}"/>
    </manifest>
</jar>

Ve burada benim sınıf nasıl inşa edilir:

<path id="build.classpath">
	<fileset dir="${basedir}/">
		<include name="${lib.dir}/*.jar"/>
	</fileset>
</path>

<pathconvert property="mf.classpath" pathsep=" ">
	<path refid="build.classpath"/>
	<mapper>
		<chainedmapper>
			<flattenmapper/>
			<globmapper from="*.jar" to="lib/*.jar"/>
		</chainedmapper>
	</mapper>
</pathconvert>

mf.sınıf paket hedef yukarıda yayınlanan kullanılır. Bu kısmı başka bir yerden kopyaladım, o kadar samimi değilim.

Hızlı düzenleme. Javac bu kavanozlar çok bilmesine gerek yok.

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

<target name="compile">
	<mkdir dir="${build.dir}"/>
	<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="jars" debug="on"/>
</target>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • lilstevie89

    lilstevie89

    25 Mart 2011
  • soyacincautv

    soyacincautv

    14 NİSAN 2010
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006