OpenNET: ������ - Ant �� 10 ����� (make ant java) (original) (raw)
Ant �� 10 ����� (make ant java)
<< ���������� | ������ | ������ | src / ������ | ��������� >> |
---|---|---|---|---|
![]() |
�������� �����: make, ant, java, (����� ������� ���������)
From: http://javatech.info Date: Mon, 10 Apr 2006 18:21:07 +0000 (UTC) Subject: Ant �� 10 �����
��������: docs.javatech.info
(������� Ant in Ten Steps by Russ Olsen)
����� � ���, ��� ����� Ant ������ �� ��������� ���� - �� ����� ���� �� ����, � �� ��������� �� ���� ����� �� ���������� ���. ���� ������ ��������� ��������� ��� ������ � ������ ������� Ant, ����� �� ������� ������ ������� �����. ����, ��� 10 �����, ������� �� ������ ����� �� ���� �����������.
����������
* 1 ��� 1: ������ Ant?
* 2 ��� 2: ��� �������� Ant
* 3 ��� 3: ���� ������ �������� Ant.
* 4 ��� 4: ����������� � Ant
* 5 ��� 5: ����������� �������
* 6 ��� 6: �������������� Java
* 7 ��� 7: Jar'� � Filesets
* 8 ��� 8: �������� ��� ����������, ��...
* 9 ��� 9: ����� Properties
* 10 ��� 10: ������ �� �������
* 11 � ����������
��� 1: ������ Ant?
Ant - ��� ����������, ������� ������� ���������������� ������� ������ ��. � ������ Ant ������� �� ���� ����� �������� ������ �������������� �����, ������� � ������ �� CD.
������� Ant'� ������ ����������, ��� ����� Ant, ���� ������ ������� ������� ���������. ��������, ���� � ���� ��������������� ��������� Java ������ � ������� Jar �� ���������� ������ �������, �� � ���� ������ ������� ������� ������:
$ javac -d build src/Main.Java src/Utils.src/Java GUI.Java
$ cd build
$ jar -cvf ../mystuff.jar Main.class Utils.class GUI.class
��� ���������, �� ���� ����� ����� ��������� ������ � ������������, �� �� ������ �����, ���� ���� ������� ������ �������� ��� ������ � ������ Java ������.
�������, �� ������ �������� ��� ��� � �������� �������� ��� Perl:
#!/bin/sh
javac -d build src/Main.Java src/Utils.Java src/GUI.Java
cd buildre are ten things you need to know about this tool.
jar -cvf ../mystuff.jar Main.class Utils.class GUI.class
�������� � ���, ��� �������� � Perl �������� ������������� ������ ���������� - ������ �� ������� ��, �� ������ �������� web ������ ��� �� ��� ������ �� Perl. Ant ���������������� �� ����� - �� ������ ��. �� �����, � ���������� ����� ����������� ����� ������ ��� ������� ���� ��. Ant ������ ��� ������ ��� �����, ��� �� ����������� ������� �� - ��� ������ �� ������ ������������ Ant ��� ������ � ������� ������ ��������.
��� ������� �������� ��������������, ����� �� ��������� ��������� ������, �� � �������� ��������� ������������������ ��������, ����� ��� Ant ����� ���� ������� ����� ������ � �������.
��� 2: ��� �������� Ant
Ant ������� ����� �� �������. ������ ��� ���� �������� ��, ��� ������� ������������ - �������� ��� �� Java, ���������, ���������� �� ������ ������, ����������� ������������� � �.�. ��� ������ ��������� �� ������ - ���������������� ���������, ������� � �������������.
� �������� ��������� �� ��������� ���� �������� ��������, Ant'� ���������� ������ � ���� build �����. Build ���� (����� ��������� ��� <<Ant ����>>, ��� <<build ��������>> (<<�������� ������>>) ��� <<���� build.xml>>) ���������� Ant'� ��� ���� ������, ����� ���������� �� ��� ���� (��� �������, �������� ���) � �� ��� �� ������. Build ���� ����� �� ��������� ���� - �� ������� ��� ��� ������� �� ������ ������ �����.
Build ���� �������� �������, ������� ��������� Ant'� ������ ���� ��������� �����:
- � ������������ � ��� ��� ��� �����, �������� Russell.jar � ������� ������...
- ������, ������� �� ������ ������� Russell.jar;
- ������, ��� ����, ����� ������� Russell.jar, ������� ������� jar � *.class ������
- ������, ���� ����� �������������� class �����, ���� �� ����� ��� �� ������.
- ��� ����, ����� ������� *.class �����, ������� ���������� Java ��� *.java ������.
��� 3: ���� ������ �������� Ant.
������ ������, ����� ��������� �� ��������, ���� � ����� ��������� Ant ����. ������������� �������� <> build ������.
<project name="MyProject" default="all">
<target name="all" description="Do the entire build" >
<echo>I'm building my software</echo>
</target>
</project>
��� ������, ��� XML ����, ���������� ������� . �������� 2 ��������:
- ���;
- ������� �� ���������, ��� ��������� <>.
��� �������� ������ ������������, ������ ��� ����� �� ������������. ������� �� ��������� - ��� ��� ���� �������, ������� �� ������, ����� Ant �������� �� ���������. ��� ������� Ant �������� ���� �� �� ������� ���, ��� ��������.
����������� build ����� �������� �������� . �� ����, ���� ������� ������ ���������: ����� ������� ����� ��� ��������� <>, ������� ������� .
��� ���� ����� ��������� Ant ���-�� �������, �� ������ ��������� ������� Ant � ������� �� ����� ���� �������� ���������� ������:
$ Ant -f build.xml
Buildfile: build.xml
all:
[echo] I'm building my software
BUILD SUCCESSFUL
Total time: 1 second
����, ��� ����� ���������?
- Ant ����� build ���� � �������� ���;
- ��� ��� �� �� ������ ���, ��� ������, �� ����� ��������� ������� �� ��������� <>;
- Ant ������ ���� ����� ���������� ������� .
��� 4: ����������� � Ant
����� ���������� ���� � ����� ��� ����� ��������:
<project name="02.depend" default="all" >
<description>This is a project which uses dependancies</description>
<target name="make.dirs" description="Make a dir">
<mkdir dir="build"/>
</target>
<target name="all" description="Do the build" depends="make.dirs">
<echo>I'm building my software</echo>
</target>
</project>
��� ��� ��� �� ��������� ��� build ����� - ��� build.xml, �� �� ����� �������� �������� -f � ������ ������� Ant ��� ����������:
$ Ant
Buildfile: build.xml
make.dirs:
[ mkdir] Created dir: /home/russ/Ant_example/02.depend/build
all:
[echo] I'm building my software
BUILD SUCCESSFUL
Total time: 1 second
���� build ���� �������� ��� �������, ��� �������� <> � �����, <<make.dirs>>. <<make.dirs>> �������� ���������� � Ant ������� mkdir - Ant �������� ��� ���������� ������� �������� - ��� �������� ����� ����������. �������� �������� �� ��� ����, ��� ������� <> ��������� �� ��, ��� ��� ������� �� ������� <<make.dirs>>. ��� ����������� ��������, ��� ��� ���� ����� ������� <>, �� ������ ������� ������� <<make.dirs>>. ���� ����������� �������� �������� � ������ Ant'� - ������� ����� ������ �� ��������� Ant ������ ������� � ���������� ������� ������ �����������.
��� 5: ����������� �������
��� ��������� ������ �������� 3-� �������, ��� ��������� <>:
<project name="nodefault" default="all" >
<target name="make.dirs" description="Make some dirs">
<mkdir dir="build"/>
</target>
<target name="all" description="Do the build" depends="make.dirs">
<echo>I'm building my software</echo>
</target>
<target name="clean" description="Clean up">
<echo>I'm cleaning up.</echo>
<delete dir="build"/>
</target>
</project>
<> ������ ������� ������� ������, ������� ��������� �������� <<make.dirs>>. �� ������ ��������� <> ��� ������ ����� ������ ���� ��������������� ������.
�� ������, ��� <> �� �������� �������� �� ��������� � ������� �� ��������� �� ������� �� ����. ��� ��� �� �� ������� ��������� <>? ����� ������ ����������:
$ Ant clean
Buildfile: build.xml
clean:
[echo] I'm cleaning up.
BUILD SUCCESSFUL
Total time: 1 second
��� 6: �������������� Java
����, ����� ���������� ������� ���-������ �������� � Ant, ��������, ������������� ���-�� �� Java ����:
<project name="MyProject" default="all" >
<target name="make.dirs" description="Make some dirs">
<mkdir dir="build"/>
<mkdir dir="build/class"/>
</target>
<target name="compile" description="compile java" depends="make.dirs">
<javac destdir="build/class">
<src path="src"/>
</javac>
</target>
<target name="all" description="Do the build" depends="compile"/>
<target name="clean" description="clean up">
<echo>I'm cleaning up.</echo>
<delete dir="build"/>
</target>
</project>
������, ��� �� ����� ������� �� ��������� <>, ��������� �� <>, ������� �������� ������ javac, ���������� � Ant. ��� ��� ����������, ����� �� �������� ���� ��������:
Ant
Buildfile: build.xml
make.dirs:
[mkdir] Created dir: /home/rolsen/Documents/Ant/04.compile/build
[mkdir] Created dir:
/home/rolsen/Documents/Ant/04.compile/build/class
compile:
[javac] Compiling 1 source file to /home/russ/build/class
all:
BUILD SUCCESSFUL
Total time: 2 seconds
���������� 2 ���������� ����������� ������ javac. ��-������, �� ������ �� ��������� ��������������� ����� java ������, ������� ������ �������������� - ���������� ������ ������� �������. ��-������, javac ����� ����������, ����� class ���� ���������� � �����, ��� java ����, � ���� ������, ��� ������ �� �������������. �� ������ ��������� ���, �������� ������ ������ - �� ������ ������ javac ������ �� �������������. ��� 2 ����������� �������� ��������� ������� ������ ��, ������������� �����. ��� ��� Ant �����, ��� ��, ��� �� �������, ��� ������� ������� ��, �� ���������� ���, ��� ��� �������.
������ ����� ��������� � ���, ������������ ����� Java ������������ - classpath. ��� �� ������, classpath � Java ��� ������ Jar ������ �/��� ���������, ������� �������� Java ��� ������ ����� ���������. �������� ������� � ���, ��� � ������� �������� classpath ����� ����������� ����� ������� � ����������.
Ant ������������� ���� 2 ������ ��� ����������� classpath, ��� ����� � ����� javac:
<project name="04b.classpath" default="all" >
<target name="make.dirs" description="Make some dirs">
<mkdir dir="build"/>
<mkdir dir="build/class"/>
</target>
<target name="all" description="compile java" depends="make.dirs">
<javac destdir="build/class" classpath="extra.jar">
<src path="src"/>
</javac>
</target>
</project>
...��� �� ������ ������� classpath ��������, ��� ������ ���� ���� ������� ��� ������������ � ���������� ��������.
<project name="04c.classpath" default="all" >
<target name="make.dirs" description="Make some dirs">
<mkdir dir="build"/>
<mkdir dir="build/class"/>
</target>
<path id="myclasspath" >
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="all" description="compile java" depends="make.dirs">
<javac destdir="build/class" classpathref="myclasspath">
<src path="src"/>
</javac>
</target>
</project>
���������� ����� � ���, ��� Ant ��������� ��� �������� ��� �������������� ��������, ���������� �� jar ����, ������� �� ������ � ��������. �������, ���� �� ������ � ����� jar �����, Ant �� ������� ���� ����� ������ - �������� ��, ��� �������.
��� 7: Jar'� � Filesets
Java ���������� ��� ������� ������������ ������������ � jar �����. Jar ����� ������ �� ��������� ��� zip ����� - ���� jar ���� ����� ��������� ����� ���������� ������ ��������� ������ � ������. Ant ������������� ����������� ������ ��� �������� jar ������:
<project name="05.jar" default="all" >
<target name="make.dirs" description="Make some dirs">
<mkdir dir="build"/>
<mkdir dir="build/class"/>
</target>
<target name="compile" description="compile java" depends="make.dirs">
<javac destdir="build/class">
<src path="src"/>
</javac>
</target>
<target name="stuff.jar" description="make jar file" depends="compile">
<jar destfile="build/stuff.jar">
<fileset dir="build/class">
<include name="**/*.class"/>
<exclude name="**/CVS"/>
</fileset>
</jar>
</target>
<target name="all" description="Do the build" depends="stuff.jar"/>
</project>
��������, ��� ������� <> �������� Ant'� ��� ������������ jar �����, � �� ����� ��� �����, ���������� � jar ����, ����������� ����� ������� fileset. Filese'�t ����� ���� ������������ �� ������ �������, ��������� ������� ������ � �������� ����� ������ ������� �������� ������ �� �����.
Jar ������ ����� �� �� �����������, ��� � javac: ���� jar ���� ���������� � ����� ����� ����� ���� � �����, �� ������ jar ��������� ����� � ������ �� �������.
��� 8: �������� ��� ����������, ��...
Ant ����� ��������� ���� ���������� ����������� ���������� ��������, ���������� ����������:
<project name="MyProject" default="all" >
<property name="month" value="July"/>
<target name="all" description="Uses properties">
<echo>The month is ${month}</echo>
</target>
</project>
������� ����, ��� Ant �� �������� �� ����������� � ���, ��� �������� �� ����� �������� ������ ��������, ������ ��� ��������������. �� ����, �������� ������ �� ����������, �� ����������� ����, ��� ��� �� ����������. �������, ���� �� �������� ��������� Ant ��������:
<project name="07.notvars" default="all" >
<property name="month" value="Jan"/>
<property name="month" value="Dec"/>
<target name="all" description="Uses properties">
<echo>This month is ${month}</echo>
</target>
</project>
�������� month �� ���������� � ���� �������, ��� ��� ������������ � "Jan":
Buildfile: build.xml
all:
[echo] This month is Jan
BUILD SUCCESSFUL
Total time: 0 seconds
��� 9: ����� Properties
Ant ����� ��������� ���� ���������� ���������� � ��������� property �����, ���������� Ant.properties:
#
# A sample Ant properties file
#
month=30 days
year=2004
�� ������ �������� ������ � ����� �������, ��������� ����������� ����� �������� :
<project name="08.propfile" default="all" >
<property file="Ant.properties"/>
<property name="month" value="Jan"/>
<property name="year" value="1066"/>
<target name="all" description="Uses properties">
<echo>This month is ${month}</echo>
<echo>This year is ${year}</echo>
</target>
</project>
������ ���������, ��� ������� ��� ��� ���� �����������, ���� �������� �������� ��������, ��� ����� ���� ��� ������ � ������: ������� ���������, �� �� ������ �������� �������� ��������.
������ ��� ������, ���� �������� ����� ������������� ������ � ����������� jar ����� � �������������� ������, ����������� � ��������:
<project name="09.jarprops" default="all" >
<property file="Ant.properties"/>
<property name="build.dir" value="build"/>
<property name="class.dir" value="${build.dir}/class"/>
<property name="stuff.jar" value="${build.dir}/stuff.jar"/>
<target name="make.dirs" description="Make some dirs">
<mkdir dir="${build.dir}"/>
<mkdir dir="${class.dir}"/>
</target>
<target name="compile" description="compile java" depends="make.dirs">
<javac destdir="${class.dir}">
<src path="src"/>
</javac>
</target>
<target name="stuff.jar" description="make jar file" depends="compile">
<jar destfile="${stuff.jar}">
<fileset dir="${class.dir}">
<include name="**/*.class"/>
<exclude name="**/CVS"/>
</fileset>
</jar>
</target>
<target name="all" description="Do the build" depends="stuff.jar"/>
<target name="clean" description="clean up">
<echo>I'm cleaning up.</echo>
<delete dir="${build.dir}"/>
</target>
</project>
��� 10: ������ �� �������
�� ������ ������������ �������� ��� ��������� � ���������� ��������� �������. �������� �� ��������� ������:
<project name="10.ifprop" default="all" >
<target name="debug.build" unless="production">
<echo>Pretending to do a debug build</echo>
</target>
<target name="production.build" if="production">
<echo>Pretending to do a production build</echo>
</target>
<target name="all" description="Do the build" depends="production.build,debug.build"/>
</project>
��� ������, ���� ����������� �������� <>, �� ����������� ������� <<production.build>>, �� ���� �������� �� �����������, �� ����� ��������� <<debug.build>>.
������ �������� �� ��, ��� � if � unless Ant ���� ���������, ����� �� �������� ��������. Ant �� ���������, ����� ��� �������� - �������, � ���������� ���� ����� �� ������� ������ production ���� �������� <> ����� ����������� � <>, <> ��� <>.
� ����������
�����������, ���������� � ����� ������ ��� ���, �������� ����� ������ ��� ���������� � Ant. � �������, Ant ������������ � ��������� �������������. � ��� �������� ���� - ����� ���������� � �������� ��������� �� ����������.
����������, ���� ������� ����:
Java Development with Ant Erik Hatcher and Steve Loughran ISBN 1930110588
Ant: The Definitive Guide By Jesse E. Tilly, Eric M. Burke ISBN 0596001843
<< ���������� | ������ | ������ | src / ������ | ��������� >> |
---|---|---|---|---|
![]() |
1.10, trikoz (?), 11:49, 13/10/2008 [��������] [﹢﹢﹢] [ · · · ] | +/– |
---|---|
� ��� �� ������ �� 3 �������?Buildfile: C:\Documents and Settings\user\workspace\Project\build.xmlmake.dirs:compile: [javac] Compiling 33 source files to C:\Documents and Settings\user\workspace\Project\build\classBUILD FAILEDC:\Documents and Settings\user\workspace\Project\build.xml:9: Unable to find a javac compiler;com.sun.tools.javac.Main is not on the classpath.Perhaps JAVA_HOME does not point to the JDK.It is currently set to "C:\Program Files\Java\jre1.5.0"Total time: 156 milliseconds | |
1.13, Google (?), 12:56, 09/12/2008 [��������] [﹢﹢﹢] [ · · · ] | +/– |
---|---|
��� ������ $ javac -d build src/Main.Java src/Utils.src/Java GUI.Java���� src/Main.Java src/Utils.Java src/GUI.Java | |
1.32, ������ (??), 11:06, 21/12/2013 [��������] [﹢﹢﹢] [ · · · ] | +/– |
---|---|
������� ������� �� ������� ������! ����� �������� ��������. ��� ������� ������� - ��� ����������) | |
1.34, ������ (?), 14:36, 28/10/2015 [��������] [﹢﹢﹢] [ · · · ] | +/– |
---|---|
![]() |
|