Use Ant to automate tasks
To support using Apache Ant with Java EE applications running on the application server, WAS v9 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 is extended using Java classes. Instead of writing shell commands, XML-based configuration files reference a target tree in which various tasks are run.
Overview
- Calling the WebSphere_Ant (WsAnt) scripts outside of the ws_ant launcher is not supported or recommended.
- When we 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 we specify bin/ws_ant.sh -f ant.xml -Dsystem.property='"a quoted String"', the property is set to "a quoted string". Similarly, if we specify 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 we specify 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 we specify 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 we specify bin/ws_ant.sh -f ant.xml -Dsystem.property='\$3.99', the property is set to $3.99.
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 JSP file precompilation tool
For more detailed information about Ant, refer to the Apache organization website.
Use Ant to automate tasks
- To run Ant and have it automatically see the WebSphere classes, use...
app_server_root/bin/ws_ant.bat|sh
The ws_ant command is provided with 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 our application, based on published standards and proven design patterns.
Apache struts is a framework supported by the open source community.
IBM WAS 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 WAS is deprecated in v7.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 JSP files, XSLT, or other presentation systems.
Manage shared libraries Batch compiler ant task Rational Application Developer documentation