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

  • akalyne

    akalyne

    13 Mayıs 2009
  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • Distractify

    Distractify

    1 Aralık 2011