DOC PREVIEW
DREXEL CS 265 - Ant & Jar

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Ant Jar Ant Java based build tool Jar pkzip archive that contains metadata a manifest file that the JRE understands jar Use jar utility to create jar files A compressed tar d collection of class files Command format like tar File format pkzip but includes a manifest file MANIFEST MF meta data Can be added to classpath JRE searches a jarfile like a directory for included packages Creating a jarfile Options much like tar c create x extract u update Others v verbose f specify archive filename m include manifest info from named file Creating a jarfile example Given class files pokerSuit class pokerClient class Create the jarfile jar cvf poker jar poker class You can use unzip l to look at the contents Notice the MANIFEST MF Archive poker jar Length Date Time 0 08 06 06 09 30 120 08 06 06 09 30 670 08 06 06 09 19 636 08 06 06 09 19 1426 Name META INF META INF MANIFEST MF pokerClient class pokerSuit class 4 files Executing a jarfile Jar files can be made executable by adding a Main Class line to the manifest and identifying the class that contains main create an mf file poker mf w these lines Classpath poker jar Main Class pokerClient Create the jarfile w this info jar cvfm poker jar poker mf class To run java jar poker jar Ant A bit like Make Cross platform Extended w Java classes rather than shell dependent scripts Reads XML configuration files Java based Open source Why another build tool Make tools are shell based Development across multiple platforms Ant vs Make Ant is Cross Platform Ant will work on any platform that has a Java VM Make relies on specific OS shell commands Syntax Make has a scary looking syntax Make tab problem Ant uses XML self documenting Efficiency Ant PROs Fast Compiles Platform Independent Easier to use than make CONs non Java projects Who should use Ant Use Ant If you don t already know make If you are developing anything cross platform Use Make If you are a make expert Developing applications in nonJava language Resources Ant the definitive guide ISBN 0596001843 Java tools for eXtreme Programming ISBN 047120708X Electronic resource Ant add ons http ant apache org external html Links http ant apache org http ant apache org resources htm l http ant apache org manual index html Nice description of the various tags tasks Key Words Build File Collection of targets hopefully logical Target Collection of tasks Can have dependencies other targets etc Task Specific commands for building running etc Ant Details All Ant tasks are defined in a Java class An example of a particular task would be JAVADOC see common built in tasks later Ant has a core set of tasks that come with it Other optional tasks can be downloaded Ant is very modularized build xml The default build file Ant looks for f option allows to specify a different build file How to run ant ant f file target file config file build xml if not supplied target list of targets to be built E g ant test ant ant compile If you don t specify the default is executed ant javadoc ant compile javadoc build xml Example project default compile target name compile javac srcdir target project Simply compiles all java files in the current directory calls javac Complex ant build file example project default all property name obj dir location obj property name lib dir location lib property name src dir location src target name init mkdir dir obj dir mkdir dir lib dir target target name clean init delete dir obj dir delete dir lib dir target target name compile depends init javac srcdir src dir destdir obj dir target target name clean compile delete fileset dir obj dir includes class delete target Complex example cont target name jar depends compile jar destfile lib dir hello jar basedir objdir target target name clean jar delete file lib dir hello jar target target name run depends jar java classname hello classpath lib dir hello jar fork true target target name all depends run target name clean depends clean init project Ant Setup Ant is installed in usr local bin ant JAVA HOME variable should be set should be set to prefix of bin java On the CS machines usr local OR opt java5 jdk1 5 0 06 Common Ant Tasks javac srcdir dir includes fileList compiles Java source files java classname class OR java fork yes jar jar runs a Java application javadoc generates javadoc HTML file from Java source files mkdir creates a directory and any missing parent directories Common Tasks cont move moves files and directories to a new directory copy file src tofile dest todir destDir copies files delete file file dir dir deletes given file or dir echo file file message msg or echo file file msg echo outputs a message to System out or file Common Ant Tasks cont Gunzip unzips a GZIP file Gzip creates a GZIP file from a file Jar creates a JAR file from a set of files Mail sends email using SMTP Get creates a copy of a remote file at a specified URL can use http and ftp URLs Extra Tasks JUnit runs JUnit tests requires junit jar from http junit org FTP lists gets puts and deletes files on an FTP server requires NetComponents jar Examples Given files foo java which extends bar java in the current directory compile all java files in directory project default compile target name compile javac srcdir target project Example compile only foo and bar project default compile target name compile depends foo bar target name foo depends bar javac srcdir includes foo java target target name bar javac srcdir includes bar java target project Example Add a clean target target name clean delete fileset dir include name class fileset delete target Example Add a run target target name run depends compile java classname foo target Example Add a target to build a jarfile target name jar depends compile jar destfile foo jar manifest man mf fileset dir include name class fileset jar target Example Run the jarfile target name run depends jar java jar foo jar fork true target


View Full Document

DREXEL CS 265 - Ant & Jar

Loading Unlocking...
Login

Join to view Ant & Jar and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Ant & Jar and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?