Use Ant to automate tasks
To support using Apache Ant with Java EE applications running on the application server, the product provides a copy of the Ant tool and a set of Ant tasks that extend the capabilities of Ant to include product-specific functions. Ant has become a very popular tool among Java programmers.
Apache Ant is a Java-based build tool. In theory, it is similar to Make, but Ant is different. Instead of a model in which it is extended with shell-based commands, Ant is extended using Java classes. Instead of writing shell commands, XML-based configuration files are used. These files reference a target tree in which various tasks are run. Each task is run by an object that implements a particular Task interface.
Avoid trouble:
- Calling the WebSphere_Ant (WsAnt) scripts outside of the ws_ant launcher is not supported or recommended.
- When you invoke the Ant tool, do not pass empty strings in place of command arguments in ant script. The script will not work in the wsadmin environment. The <arg value> cannot be an empty string, such as shown in the following example:
<?xml version="1.0" encoding="UTF-8"?> <project name="proj" default="main"> <taskdef name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin"/> <target name="main"> <wsadmin,conntype="NONE" lang="jython" failonerror="true" script="&(basedir)/script.ph"> <arg value="blah" /> <arg value="" /> </wsadmin> <!-- manaeapp action="blah" variation-number="0" --> </target> </project>
- In general, for ws_ant.sh scripts, use single quote for strings containing special characters:
- For a string containing a single quote or a double quote, use the other character to quote the string. For example, if specified bin/ws_ant.sh -f ant.xml -Dsystem.property='"a quoted String"', the property is set to "a quoted string". Similarly, if specified bin/ws_ant.sh -f ant.xml -Dsystem.peoperty="'a quoted string'", the property is set to 'a quoted string'.
We cannot include both single and double quotes in the same string.
- For a string containing a back quote, use a single quotes surrounding the string and escape the back quote with backslash. For example, if specified bin/ws_ant.sh -f ant.xml -Dsystem.property='\`a quoted string\`', the property is set to `a quoted string`.
- For a string containing a backslash, surround the string with single quotes and escape it with a backslash. For example, if specified bin/ws_ant.sh -f ant.xml -Dsystem.property='c:\\Program Files\\IBM'. the property is set to c:\Program Files\IBM.
- For a string containing a dollar sign, surround the string with single quotes and escape it with a backslash. For example, if specified bin/ws_ant.sh -f ant.xml -Dsystem.property='\$3.99', the property is set to $3.99.
gotcha
By combining the following tasks with those provided by Ant, we can create build scripts that compile, package, install, and test the application on the application server:
- Install and uninstall applications
- Start and stop servers in a base configuration
- Run administrative scripts or commands
- Run the EJB deployment tool for EJB 1.x or 2.x modules
- Run the JSPs file precompilation tool
For more detailed information about Ant, refer to the Apache organization website.
- To run Ant and have it automatically see the WebSphere classes, use the ws_ant command.
The ws_ant command is provided with the Apache Ant tool.
(dist)(zos) See the app_server_root/bin/ws_ant.bat|sh file for the Apache Ant tool.
(iseries) See the app_server_root/bin/ws_ant file for the Apache Ant tool.
- Use Ant tasks for deployment and server operation.
The Apache Ant tasks for the product reside in the Java package: com.ibm.websphere.ant.tasks. The API documentation for this package contains detailed information about all of the Ant tasks provided and how to use them.
See com.ibm.websphere.ant.tasks API documentation in the Reference section of the information center.
- Use Ant tasks for building application code.
Refer to the Rational Application Developer documentation.
- Use the Apache Struts framework to create an extensible development environment for the application, based on published standards and proven design patterns.
Apache struts is a framework that is supported by the open source community.
IBM WebSphere Application Server provides the Apache Struts JAR file in the app_server_root/optionalLibraries/Apache/Struts/1.1 directory of the product installation. If using Struts in the application or Application Server, we need to configure a shared library that points to the Struts library JAR file.
The Struts framework provides the invisible underpinnings every professional web application needs to survive. The core of Struts is a flexible control layer based on standard technologies such as Java Servlets, JavaBeans, ResourceBundles, and XML.
Deprecated feature: Shipment of Apache Struts 1.1, 1.2.4, and 1.2.7 as optional libraries within WebSphere Application Server is deprecated in Version 7.0.depfeat
Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Struts provides its own Controller component and integrates with other technologies to provide the Model and the View. For the Model, Struts can interact with any standard data access technology, including EJB components, and JDBC. For the View, Struts works well with JSPs files, XSLT, or other presentation systems.
Related tasks
Manage shared libraries
Batch compiler ant task
Related information: