blob: c83d87652bb06533338dface765b656291ed35a2 [file] [log] [blame]
<!DOCTYPE html>
| Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-11-16
| Rendered using Apache Maven Fluido Skin 1.6
<html xmlns="" xml:lang="en" lang="en">
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20181116" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache Axis2 &#x2013; Developing Apache Axis2</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
<body class="topBarDisabled">
<div class="container-fluid">
<div id="banner">
<div class="pull-left"><a href="" id="bannerLeft"><img src="" alt="Apache Axis2"/></a></div>
<div class="pull-right"><a href="./" id="bannerRight"><img src="images/axis.jpg" /></a></div>
<div class="clear"><hr/></div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2022-06-07<span class="divider">|</span>
<li id="projectVersion">Version: 1.8.1<span class="divider">|</span></li>
<li class=""><a href="" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
<li class=""><a href="index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
<li class="active ">Developing Apache Axis2</li>
<div class="row-fluid">
<div id="leftColumn" class="span2">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">Axis2/Java</li>
<li><a href="index.html" title="Home"><span class="none"></span>Home</a> </li>
<li><a href="download.html" title="Downloads"><span class="none"></span>Downloads</a> </li>
<li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
<ul class="nav nav-list">
<li><a href="release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a> </li>
<li><a href="release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a> </li>
<li><a href="release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a> </li>
<li><a href="release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a> </li>
<li><a href="release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a> </li>
<li><a href="release-notes/1.7.1.html" title="1.7.1"><span class="none"></span>1.7.1</a> </li>
<li><a href="release-notes/1.7.2.html" title="1.7.2"><span class="none"></span>1.7.2</a> </li>
<li><a href="release-notes/1.7.3.html" title="1.7.3"><span class="none"></span>1.7.3</a> </li>
<li><a href="release-notes/1.7.4.html" title="1.7.4"><span class="none"></span>1.7.4</a> </li>
<li><a href="release-notes/1.7.5.html" title="1.7.5"><span class="none"></span>1.7.5</a> </li>
<li><a href="release-notes/1.7.6.html" title="1.7.6"><span class="none"></span>1.7.6</a> </li>
<li><a href="release-notes/1.7.7.html" title="1.7.7"><span class="none"></span>1.7.7</a> </li>
<li><a href="release-notes/1.7.8.html" title="1.7.8"><span class="none"></span>1.7.8</a> </li>
<li><a href="release-notes/1.7.9.html" title="1.7.9"><span class="none"></span>1.7.9</a> </li>
<li><a href="release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a> </li>
<li><a href="release-notes/1.8.1.html" title="1.8.1"><span class="none"></span>1.8.1</a> </li>
<li><a href="modules/index.html" title="Modules"><span class="none"></span>Modules</a> </li>
<li><a href="tools/index.html" title="Tools"><span class="none"></span>Tools</a> </li>
<li class="nav-header">Documentation</li>
<li><a href="docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a> </li>
<li><a href="docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a> </li>
<li><a href="docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a> </li>
<li><a href="docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a> </li>
<li><a href="docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a> </li>
<li><a href="docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a> </li>
<li><a href="docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a> </li>
<li><a href="docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a> </li>
<li><a href="docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a> </li>
<li class="nav-header">Resources</li>
<li><a href="faq.html" title="FAQ"><span class="none"></span>FAQ</a> </li>
<li><a href="articles.html" title="Articles"><span class="none"></span>Articles</a> </li>
<li><a href="" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a> </li>
<li><a href="refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a> </li>
<li><a href="apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a> </li>
<li class="nav-header">Get Involved</li>
<li><a href="overview.html" title="Overview"><span class="none"></span>Overview</a> </li>
<li class="active"><a href="#"><span class="none"></span>Checkout the Source</a>
<li><a href="mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a> </li>
<li><a href="release-process.html" title="Release Process"><span class="none"></span>Release Process</a> </li>
<li><a href="guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a> </li>
<li><a href="siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a> </li>
<li class="nav-header">Project Information</li>
<li><a href="team-list.html" title="Project Team"><span class="none"></span>Project Team</a> </li>
<li><a href="issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a> </li>
<li><a href="" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a> </li>
<li><a href="thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</a> </li>
<li class="nav-header">Apache</li>
<li><a href="" class="externalLink" title="License"><span class="none"></span>License</a> </li>
<li><a href="" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a> </li>
<li><a href="" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a> </li>
<li><a href="" class="externalLink" title="Security"><span class="none"></span>Security</a> </li>
<hr />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
<div id="bodyColumn" class="span10" >
<div class="section">
<h2><a name="Introduction"></a>Introduction</h2>
This document provides information on how to use SVN to get an
SVN checkout/update, make commits to the repository, etc., in the
process of contributing to Apache projects (specifically Axis2).
Instructions on configuring IDEs for development and using Maven to
build the project is also included here.
<div class="section">
<h2><a name="Working_with_Subversion_SVN"></a>Working with Subversion (SVN)</h2>
The Axis2 development team uses Subversion (SVN) for source
control. Subversion is a compelling replacement for CVS, developed
under the auspices of the Tigris community and licensed under an
Apache compatible license. To learn more about Subversion or to
download the latest distribution, visit the <a class="externalLink" href="http:///">Subversion project
site</a>. If you are looking for guidance on setting up and
installing Subversion, please read the ASF <a class="externalLink" href="">Source
Code Repositories page</a>.
<div class="section">
<h2><a name="Checkout_Axis2_from_Subversion"></a>Checkout Axis2 from Subversion</h2>
To check out the latest version of Axis2 from the Foundation's
Subversion repository, you must use one of the following URLs
depending on your level of access to the Axis2 source code:
<li><b>If you are not a committer:</b> <a class="externalLink" href=""></a></li>
<li><b>If you are a committer:</b> <a class="externalLink" href=""></a></li>
If you are a committer, make sure that you have selected an
svnpasswd. To do this, you must log into For more
information, please read the ASF <a class="externalLink" href="">Source Code Repositories page</a>.
Once you have successfully installed Subversion, you can check
out Axis2 trunk by following these steps:
<ol style="list-style-type: decimal">
<li>Run <b>svn co &lt;repository URL&gt; axis2</b> where
the repository URL is one of the URLs from the previous list.</li>
<li>This step will check out the latest version of the Axis2 Java
codebase to a directory named &quot;axis2&quot;. The second parameter to the
<b>svn co</b> selects a directory to create on your local
machine. If you want to checkout Axis2 to a different directory,
feel free to change axis2 to any other directory name.</li>
<li>To update your working copy to the latest version from the
repository, execute the <b>svn update</b> command.</li>
<li>If you would like to submit a patch, you can execute
<b>svn diff</b> to create a unified diff for submission
to the Axis2 JIRA issue tracker.</li>
<div class="section">
<h2><a name="Installing_Maven_2"></a>Installing Maven 2</h2>
Axis2's build is based on Maven 2. Maven is a build system that
allows for the reuse of common build projects across multiple
projects. For information about obtaining, installing, and
configuring Maven 2, please see the <a class="externalLink" href="">Maven project page</a>.
To use Maven to build the Axis2 project, Please install
<a class="externalLink" href="">Maven2</a> and
follow instructions here - <a href="maven-help.html">Quick Guide to Maven for Axis 2.0</a>.
<div class="section">
<h2><a name="Configuring_your_IDE"></a>Configuring your IDE</h2>
The Axis2 development team uses a variety of development tools
from vi to emacs to Eclipse to Intellij/IDEA. The following section
is not an endorsement of a specific set of tools, it is simply
meant as a pointer to ease the process of getting started with
Axis2 development.
<div class="section">
<h3><a name="Intellij_IDEA"></a>Intellij IDEA</h3>
Type <b>mvn idea:idea</b>. Generates the necessary IDEA .ipr, .iml
and .iws project files.
<div class="section">
<h3><a name="Eclipse"></a>Eclipse</h3>
We recommend using <a class="externalLink" href="">maven-eclipse-plugin</a>
to import the Axis2 sources into Eclipse. This works best with the following
combinations of versions and settings:
Early versions of Maven 2 have issues with non standard packagings
(<tt>bundle</tt>, <tt>aar</tt> and <tt>mar</tt> in the case of Axis2)
in multi-module builds. While this has no impact on the normal Maven
build, it prevents the Maven Eclipse plugin from identifying modules
with these packagings as Java projects. Therefore it is recommended
to use Maven 2.2.x or 3.0.x to execute the Maven Eclipse plugin.
By default, the Maven Eclipse plugin only imports generated sources
and resources created during the <tt>generate-sources</tt> and
<tt>generate-resources</tt> phases, but fails to locate them if they
are generated during the <tt>generate-test-sources</tt> and
<tt>generate-test-resources</tt> phases. This is due to a limitation in Maven 2 (see
<a class="externalLink" href="">MECLIPSE-37</a>
for more information). Executing the <tt>eclipse:eclipse</tt> goal after
the <tt>process-test-resources</tt> phase is also not enough because of
<a class="externalLink" href="">MDEP-259</a>. The
best is to execute it after the <tt>install</tt> phase. The <tt>skipTests</tt>
property can be used to skip the execution of the unit tests (<tt>maven.test.skip</tt>
is not appropriate here because it also skips some of the goals configured
in the <tt>generate-test-sources</tt> and <tt>generate-test-resources</tt> phases).
To summarize, use the following command to prepare the Axis2 sources for
import into Eclipse:
<pre>mvn -DskipTests=true install eclipse:eclipse</pre></div>
As usual, before importing the projects into Eclipse, check that a Classpath Variable
for <tt>M2_REPO</tt> is configured in Eclipse. Then select File &gt; Import &gt; Existing Projects
into Workspace &gt; Select root directory. Selecting the root of
the Axis source discovers all the modules and allows them to be
imported as individual projects at once.
<div class="container-fluid">
<div class="row-fluid">
<p>Copyright &copy;2004&#x2013;2022
<a href="">The Apache Software Foundation</a>.
All rights reserved.</p>