blob: 6564bccdab18aef0ecd2f252260e0dc8c6874a22 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14
| Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Revision-yyyymmdd" content="20220714" />
<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>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<div id="banner">
<div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png" 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>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
<li class=""><a href="http://www.apache.org" 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>
</ul>
</div>
<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>
</ul>
</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="http://wiki.apache.org/ws/FrontPage/Axis2/" 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>
<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="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" 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="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a> </li>
<li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a> </li>
<li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a> </li>
<li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a> </li>
</ul>
<hr />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</div>
<div id="bodyColumn" class="span10" >
<section>
<h2><a name="Introduction"></a>Introduction</h2>
<p>
This document provides information on how to use Git to get a
GitHub 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.
</p>
</section>
<section>
<h2><a name="Working_with_GitHub_.28Git.29"></a>Working with GitHub (Git)</h2>
<p>
The Axis2 development team uses GitHub (Git) for source
control.
</p>
</section>
<section>
<h2><a name="Checkout_Axis2_from_Git"></a>Checkout Axis2 from Git</h2>
<p>
To check out the latest version of Axis2 from the Foundation's
GitHub repository, you must use the following URL:
</p>
<ul>
<li><b>If you are a committer or not a committer, the link is the same:</b> <a class="externalLink" href="https://github.com/apache/axis-axis2-java-core">https://github.com/apache/axis-axis2-java-core</a></li>
</ul>
<p>
Once you have successfully installed Git, you can check
out Axis2 trunk by following these steps:
</p>
<ol style="list-style-type: decimal">
<li>Run <b>git clone &lt;repository URL&gt;</b> where
the repository URL from the previous list.</li>
<li>This step will check out the latest version of the Axis2 Java
codebase to a directory named &quot;axis-axis2-java-core&quot;.</li>
</ol>
</section>
<section>
<h2><a name="Installing_Maven_3"></a>Installing Maven 3</h2>
<p>
Axis2's build is based on Maven 3. 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 3, please see the <a class="externalLink" href="http://maven.apache.org">Maven project page</a>.
To use Maven to build the Axis2 project, Please install
<a class="externalLink" href="http://maven.apache.org/download.html">Maven2</a> and
follow instructions here - <a href="maven-help.html">Quick Guide to Maven for Axis 2.0</a>.
</p>
</section>
<section>
<h2><a name="Configuring_your_IDE"></a>Configuring your IDE</h2>
<p>
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.
</p>
<section>
<h3><a name="Intellij_IDEA"></a>Intellij IDEA</h3>
<p>
Type <b>mvn idea:idea</b>. Generates the necessary IDEA .ipr, .iml
and .iws project files.
</p>
</section>
<section>
<h3><a name="Eclipse"></a>Eclipse</h3>
<p>
We recommend using <a class="externalLink" href="http://maven.apache.org/plugins/maven-eclipse-plugin/">maven-eclipse-plugin</a>
to import the Axis2 sources into Eclipse. This works best with the following
combinations of versions and settings:
</p>
<ul>
<li>
Early versions of Maven 2 have issues with non standard packagings
(<code>bundle</code>, <code>aar</code> and <code>mar</code> 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.
</li>
<li>
By default, the Maven Eclipse plugin only imports generated sources
and resources created during the <code>generate-sources</code> and
<code>generate-resources</code> phases, but fails to locate them if they
are generated during the <code>generate-test-sources</code> and
<code>generate-test-resources</code> phases. This is due to a limitation in Maven 2 (see
<a class="externalLink" href="http://jira.codehaus.org/browse/MECLIPSE-37">MECLIPSE-37</a>
for more information). Executing the <code>eclipse:eclipse</code> goal after
the <code>process-test-resources</code> phase is also not enough because of
<a class="externalLink" href="http://jira.codehaus.org/browse/MDEP-259">MDEP-259</a>. The
best is to execute it after the <code>install</code> phase. The <code>skipTests</code>
property can be used to skip the execution of the unit tests (<code>maven.test.skip</code>
is not appropriate here because it also skips some of the goals configured
in the <code>generate-test-sources</code> and <code>generate-test-resources</code> phases).
</li>
</ul>
<p>
To summarize, use the following command to prepare the Axis2 sources for
import into Eclipse:
</p>
<div>
<pre>mvn -DskipTests=true install eclipse:eclipse</pre></div>
<p>
As usual, before importing the projects into Eclipse, check that a Classpath Variable
for <code>M2_REPO</code> 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.
</p>
</section>
</section>
</div>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
</div>
</div>
</footer>
</body>
</html>