Skip to main content

Ant Tutorial


  • Build.xml is the backbone file for running ANT.
  • It has one project tag and at least one target tag.
  • Project Tag has three attributes
    • Name:- Project Name
    • Default:-Default target to be called
    • Basedir:- Basic Directory to do the needful.(More specifically it contains the absolute path.)
  • Example:
    <project name="My Project" default="compile" basedir=".">

  • Then the target tag
    • Name:- target name(Required)
    • Depends:-if dependent on other targets..(We can even use if statement like if there exist the property then the target is dependent on other target )
    • Description:- description.
  • Example:
    <target name="clean" description="Removing the all generated files.">
    <delete dir="${dir.build}"/>
    <delete dir="${dir.dest}"/>
    </target>
  • Then the property tag.
    • Name:-name of the property
    • Location:- It contains the property name.
    • Value:- we can place the property value between ${"name }
    • File:- The name of the property file.
  • Example:
    <property name="build" value="${build}"/>
    <property name="build" location="src"/>
    <property file="build.properties"/>
  • Sample: build.xml
<project name="My Project" default="compile" basedir=".">
<property name="build" value="${build}"/> 

 
<property name="src" location="src"/> 

 
<property file="build.properties"/> 

 
<project name="My Project" default="jar" basedir=".">
<property name="dir.src" value="src"/>
<property name="dir.build" value="build"/>
<property name="dir.dest" value="dest"/>
<target name="clean" description="Removing the all generated files.">
<delete dir="${dir.build}"/>
<delete dir="${dir.dest}"/>
</target>
<target name="prepare" depends="clean">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.dest}"/>
<mkdir dir="${dir.src}"/>
</target>
<target name="compile" depends="prepare" description="Compilation of all source code.">
<javac srcdir="${dir.src}" destdir="${dir.build}"/>
</target>
<target name="jar" depends="compile" description="Generates Sample.jar file in the dest folder">
<jar jarfile="${dir.dest}/sample.jar" basedir="${dir.build}"/>
</target>
</project>
<target name="buildWar" depends="init" description="build a war file"/>

 
<target name="init" if="build"/>

 
<target name="init" unless="build"/>

Popular posts from this blog

Basics of Encapsulation Inheritance & Polymorphism

Encapsulation: Hiding the data/methods inside the object is called the Encapsulation. In Structured programming when u want to have a variable having accessible by some part and not by other part u don't have a mechanism to achieve the same. Encapsulation provides the same mechanism, if a class or a function wants to access then it should access those variables and functions from the references of the class i.e. objects. Inheritance Inheritance enables you to create a class that is similar to a previously defined class, but one that still has some of its own properties. Polymorphism The last major feature of object-oriented programming is polymorphism. By using polymorphism, you can create new objects that perform the same functions as the base object but which perform one or more of these functions in a different way. For example, you may have a shape object that draws a circle on the screen. By using polymorphism, you can create a shape object that draws a rectangle instead...

Overview of EJB and Lifecycle

The container is responsible for loading, activating, and in general maintaining the "life-cycle" of objects it provides. EJB have a fairly complex life-cycle. There are several kinds of EJB: Session Beans: These may be either stateful or stateless, and are primarily used to encapsulate business logic, carry out tasks on behalf of a client, and act as controllers or managers for other beans.   Entity Beans: Entity beans represent persistent objects or business concepts that exist outside a specific application's lifetime. They are typically stored in a relational database. Entity beans can be developed using bean-managed persistence, which is implemented by the developer, or container-managed persistence, implemented by the container.   Message-Driven Beans : Message-driven beans listen asynchronously for Java Message Service (JMS) messages from any client or component and are used for loosely coupled, typically batch processing.

Primitive Obsession with Example

Primitive Obsession is the name of a code smell that occurs when we use primitive data types to represent domain ideas. For example, we use a string to represent a message or an integer to represent an amount of money. For Example: Code with Primitive Obsession // primitiveObsession.java public class primitiveObsession { public static void main ( String args []) { Integer [] cityPopulations = { 13000000 , // London 21903623 , // New York 12570000 , // Tokyo 1932763 , // Stockholm 1605602 , // Barcelona 4119190 // Sydney }; for ( Integer cityPopulation : cityPopulations ) { System . out . println ( cityPopulation ); } } } public class City { private final String name ; private final int population ; private final Continent continent ; public String getName () { return name ; } public int getPopulation () { return population ; } public Continent ge...