<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">











<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Axis2 Transports - Axis2 Transports - How to build from Source</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      </head>
  <body class="composite">
    <div id="banner">
                  <a href="../transports" id="bannerLeft">
    
            
    
            </a>
                        <a href="http://www.apache.org" id="bannerRight">
    
                                            <img src="images/asfLogo.jpg" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
    
            <div class="xleft">
        Last Published: 07 Dec 2009
                      </div>
            <div class="xright">            <a href="http://www.apache.org/" class="externalLink">Apache</a>
            |
                <a href="../../">WebServices</a>
            |
                <a href="../">Commons</a>
            |
                <a href="../../axis2/">Axis2</a>
            |
                <a href="http://synapse.apache.org/" class="externalLink">Synapse</a>
            
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
    
                   <h5>Axis2 Transports</h5>
            <ul>
              
    <li class="none">
                    <a href="index.html">About</a>
          </li>
              
          
              
      
            
      
              
        <li class="expanded">
                    <a href="download_index.html">Downloads</a>
                  <ul>
                  
    <li class="none">
                    <a href="download.cgi">Releases</a>
          </li>
                  
    <li class="none">
                    <a href="source-repository.html">Source Code</a>
          </li>
              </ul>
        </li>
              
          
              
      
            
      
            
      
            
      
            
      
              
        <li class="expanded">
                    <a href="docs_index.html">Documentation</a>
                  <ul>
                  
    <li class="none">
                    <a href="jms.html">JMS Transport</a>
          </li>
                  
    <li class="none">
                    <a href="mail.html">Mail Transport</a>
          </li>
                  
    <li class="none">
                    <a href="tcp-transport.html">TCP Transport</a>
          </li>
                  
    <li class="none">
                    <a href="sms.html">SMS Transport</a>
          </li>
                  
    <li class="none">
                    <a href="apidocs/index.html">Java Doc</a>
          </li>
              </ul>
        </li>
              
          
              
      
            
            
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
              
            <li class="expanded">
                    <a href="project-info.html">Project Information</a>
                  <ul>
                  
    <li class="none">
                    <a href="mail-lists.html">Mailing Lists</a>
          </li>
                  
    <li class="none">
              <strong>Building</strong>
        </li>
                  
    <li class="none">
                    <a href="issue-tracking.html">Issue Tracking</a>
          </li>
                  
    <li class="none">
                    <a href="dependencies.html">Dependencies</a>
          </li>
                  
    <li class="none">
                    <a href="dependency-convergence.html">Dependency Convergence</a>
          </li>
                  
    <li class="none">
                    <a href="dependency-management.html">Dependency Management</a>
          </li>
                  
    <li class="none">
                    <a href="plugins.html">Plugins</a>
          </li>
                  
    <li class="none">
                    <a href="plugin-management.html">Plugin Management</a>
          </li>
                  
    <li class="none">
                    <a href="team-list.html">Project Team</a>
          </li>
                  
    <li class="none">
                    <a href="project-summary.html">Project Summary</a>
          </li>
              </ul>
        </li>
          </ul>
                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
    
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2><a name="Obtaining_the_code"></a>Obtaining the code</h2>
<p>
    You can obtain the code by downloading the <a href="download.html">source distribution</a> or, more commonly, checking out the source from Subversion (SVN).
    To checkout the code from <a href="http://subversion.tigris.org/" class="externalLink">Subversion</a>, firstly get subversion installed, then use the following commands:
    <pre>svn co http://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport [path-where-you-want-the-code]</pre>
    If you are a committer then you need to use the secure version:
    <pre>svn co https://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport [path-where-you-want-the-code]</pre></p>
<p>You may refer to the <a href="source-repository.html">source repository guide</a> for more information on checking out the code</p>
</div>
<div class="section"><h2><a name="Building"></a>Building</h2>
<p>
The first thing you need to build the code is JDK1.5 and <a href="http://maven.apache.org/download/" class="externalLink">Maven2</a>. You need at least version 2.0.7.
</p>
<p>
To build all the transports, in the top level transports source folder do:
<pre>
mvn clean install
</pre></p>
</div>
<div class="section"><h2><a name="Offline_builds"></a>Offline builds</h2>
<p>
The first time you build Maven downloads all the required dependency jars to your local repository,
after there has been a successful build you can add the &quot;-o&quot; parameter to  the above commands to run in offline mode
which avoids going out to remote Maven repositories. The result - the build runs faster.
<hr />
<pre>
mvn clean install -o
</pre></p>
</div>
<div class="section"><h2><a name="Skipping_tests"></a>Skipping tests</h2>
<p>
If you don't want to have all the Axis2 Transports test cases run during the build you can add the parameter &quot;-Dmaven.test.skip=true&quot;, eg:
<pre>
mvn clean install -o -Dmaven.test.skip=true
</pre></p>
</div>
<div class="section"><h2><a name="Updating_Snapshots"></a>Updating_Snapshots</h2>
<p>
Sometimes the trunk build uses snapshot versions of some dependency jars which can go out
of date but may not get refreshed in your local Maven repository even when the &quot;-o&quot; parameter is not used.
So if you get build failures you can try refreshing any snapshot dependencys with the &quot;-U&quot; parameter, eg:
<pre>
mvn clean install -U
</pre>
By default the Maven local repository is in your home directory, you can change this so the build
uses use a different local repository with the parameter &quot;-Dmaven.repo.local=&quot;, eg:
<pre>
mvn clean install -Dmaven.repo.local=\Transports\MyRepo
</pre></p>
</div>
<div class="section"><h2><a name="Eclipse_Projects"></a>Eclipse_Projects</h2>
<p>
You can create Eclipse project definitions for Axis2 Transports (that can be imported directly into Eclipse).
At the top level Transports source folder run:
<pre>
mvn eclipse:eclipse
</pre>
Now within eclipse you can import those Axis2 Transports projects into an Eclipse workspace.
From Eclipse do File -&gt; Import, expand the &quot;General&quot; toggle and choose &quot;Existing Projects into  Workspace&quot;,
click Next, click Browse and navigate to your Axis2 Transports SVN folder, click OK and it should find ten Axis2 Transports projects,
click Finish. That should set up the projects and show them in the Package Explorer.
There will be lots of compile errors about missing classpath entries,
to fix this select Window -&gt; Preferences, expend the Java toggle, then expand the Build Path toggle and
select Classpath Variables.
Click New and use the name &quot;M2_REPO&quot; and then click Folder and navigate to you local Maven repository
(eg C:/Documents and Settings/Administrator/.m2/repository), click OK and again OK and it should rebuild everything with all the compile errors gone.
</p>
</div>

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2004-2009
    
          The Apache Software Foundation
          
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
