class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

Введение
Структура ant xml
Отбор файлов

сборка приложения

для swing платформы

ant задачи

copy, delete, move
javac, jar, unjar

Справочник по Apache Ant

Cборка приложения и аплета для swing


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="" default="run">
    
    <!-- глобальные переменные -->
    <!-- имя приложения (jar файла) -->
    <property name="prj_name" value="tetris" />
    <!-- класс с точкой входа в приложение -->
    <property name="main_class" value="tetris.App" />
    <!-- директория с class файлами -->
    <property name="build" location="build" />
    <!-- директория с приложением (jar) -->
    <property name="dist" location="dist" />
    <!-- директория с исходниками (java файлы) -->
    <property name="src" location="src" />
    <!-- директория с ресурсами -->
    <property name="res" location="res" />
    <!-- дополнительная библиотека (уже скомпилирована) -->
    <property name="lib_path" 
              location="f:\java\workspace\MayaGames\build" /> 


<!-- удалить старые *.class файлы и дистрибутив (jar файл) -->
<target name="clean">
<delete dir="${dist}" />
<delete dir="${build}" />
<mkdir dir="${dist}" />
<mkdir dir="${build}" />
</target>
             
<!--  скомпилировать файлы, перед этим очистим -->
<target name="compile" depends="clean">
    <javac srcdir="${src}" destdir="${build}" 
           classpath="${lib_path}" />
</target>

<!-- соберем в jar файл (включая библиотеку)-->
<target name="make_jar" depends="compile">
<jar destfile="${dist}/${prj_name}.jar" 
     filesetmanifest="mergewithoutmain">
    <manifest>
        <attribute name="Main-Class" value="${main_class}" />
        <attribute name="Class-Path" value="." />
    </manifest>
    <fileset dir="${build}" />
    <fileset dir="${res}" />
    <fileset dir="${lib_path}" excludes="*.jar" />
</jar>
</target>
              
<!-- запустить приложение (java -jar app.jar) -->
<target name="run" depends="make_jar">
    <java jar="${dist}/${prj_name}.jar" fork="true" />
</target>

<!--  настройка Proguard задачи  -->
<property name="proguard" value="f:/java/proguard4.5.1" />
<property name="proguard/lib" 
          value="${proguard}/lib/proguard.jar" />
<taskdef name="proguard"
         classname="proguard.ant.ProGuardTask"
         classpath="${proguard/lib}" />

<!-- оптимизируем джар файл -->
<target name="obfuscate" depends="make_jar">
    <delete dir="${dist}/obfuscate" />
    <mkdir dir="${dist}/obfuscate" />
    <proguard>
        <injar file="${dist}/${prj_name}.jar" />
        <outjar file="${dist}/obfuscate/${prj_name}.jar" />
        <libraryjar file="${java.home}/lib/rt.jar" />
        <!-- сохраняем майн методы (точку входа) -->
        <keepclasseswithmembers access="public">
            <method access="public static" 
                    type="void" name="main"
                    parameters="java.lang.String[]" />
        </keepclasseswithmembers>
        <!-- сохраняем аплет -->
        <keep access="public" 
              extends="java.applet.Applet" />
    </proguard>
</target>

<!-- запустить приложение (java -jar app.jar) -->
<target name="run_obfuscate">
    <java jar="${dist}/obfuscate/${prj_name}.jar"
          fork="true" />
</target>
              
</project>

Рейтинг@Mail.ru