Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

ANT tool for customizing ArcGIS Server application

IDE projects introduce unnecessary complication and overhead. So I typically limit the use of IDE for Java development to build classes. This way I can keep my project simple and easily managable. Ant tool can instead be used for project development and deployment. Arcgis Server uses ant for configuration and deployment of template Application. It can also be used for extending the template web applications. I use the following approach to customize the ArcGIS Server java template web applications:

1. Create a workspace folder in a convenient place in your local directory. For example: C:/Temp/AGSProjects

2. Inside the workspace folder, create the project folder. For example: C:/Temp/AGSProjects/MapProject1

3. Inside the project folder, create this folder structure:
MapProject1
   |-ant
   |-build
   |-src

4. Use arcgisant tool to create an ArcGIS Server java template web application. Refer to ArcGIS Server Administration and Development Guide for more information.

5. Copy the web application folder built in ArcGIS\DeveloperKit\Templates\Java\build folder to the projectfolder. (MapProject1 folder in the above example.)

6. Create a file named build.xml with the following content:



<project default="build" basedir="../" name="ags" >
<!-- load environment variables -->
<property environment="env"/>
<property name="devkit.home" value="${env.AGSDEVKITHOME}" />
<property name="arcgisant.home" value="${devkit.home}/tools/ant"/>
<!-- library dependency settings -->
<property name="arcgis.dir"
location="${devkit.home}/Templates/Java/WEB-INF/lib"/>
<!-- jar file mappings -->
<property name="jintegra.jar" location="${arcgis.dir}/jintegra.jar"/>
<property name="arcobjects.jar"
location="${arcgis.dir}/arcobjects.jar"/>
<property name="arcgis_webcatalog.jar"
location="${arcgis.dir}/arcgis_webcatalog.jar"/>
<!-- Project settings -->
<property name="project.distname" value="MapViewer1"/>
<!-- current project paths -->
<property file="${basedir}/ant/build.properties"/>
<property name="webroot.dir" value="${basedir}/${project.distname}"/>
<property name="webinf.dir" value="${webroot.dir}/WEB-INF"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="build.dir" value="build"/>
<path id="arcgis.classpath">
<fileset dir="${arcgis.dir}">
<include name="*.jar" />
</fileset>
</path>
<!-- Check timestamp on files -->
<target name="prepare">
<tstamp/>
</target>
<!-- Copy any resource or configuration files -->
<target name="resources"
description="Copy any resource or configuration files">
<copy todir="${webinf.dir}/classes" includeEmptyDirs="no">
<fileset dir="${src.dir}">
<patternset>
<include name="**/*.conf"/>
<include name="**/*.properties"/>
<include name="**/*.xml"/>
</patternset>
</fileset>
</copy>
</target>
<!-- compile-->
<target name="compile" depends="prepare,resources"
description="Compile the project classes">
<javac srcdir="${src.dir}" destdir="${webinf.dir}/classes">
<classpath refid="arcgis.classpath"/>
</javac>
</target>
<!-- Remove existing compiled classes -->
<target name="clean"
description="Remove classes directory for clean build">
<delete dir="${webinf.dir}/classes"/>
<mkdir dir="${webinf.dir}/classes"/>
</target>
<!-- Build the project -->
<target name="build1" description="Build the project"
depends="prepare,compile"/>
<target name="rebuild" description="Rebuild the project"
depends="clean,prepare,compile"/>
<!-- Create war file -->
<target name="build" depends="build1"
description="Create the war file for deployment">
<mkdir dir="${build.dir}"/>
<war basedir="${webroot.dir}"
warfile="${build.dir}/${project.distname}.war"
webxml="${webinf.dir}/web.xml">
<exclude name="WEB-INF/${build.dir}/**"/>
<exclude name="WEB-INF/src/**"/>
<exclude name="WEB-INF/web.xml"/>
</war>
</target>
</project>



7. Change the value in this line in the build.xml file to the name of the web application you create above.

<property name="project.distname" value="MapViewer1"/>

8. Customize the web application as necessary.

9. Add any java source code to src folder.

10. Open command prompt and CD to ant directory in your project. Type this command to build the project:
arcgisant build

11. Verify that a war file is built in the build folder. Deploy this war file directly or copy the web application folder and the war file back to ArcGIS\DeveloperKit\Templates\Java\build folder and use arcgisant to deploy it.

You can repeat the same steps to build any other web applications. You can use the same build file but make sure to update it with the new project name as mentioned above in step 7.


This post first appeared on Geo Coding, please read the originial post: here

Share the post

ANT tool for customizing ArcGIS Server application

×

Subscribe to Geo Coding

Get updates delivered right to your inbox!

Thank you for your subscription

×