You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by em...@apache.org on 2014/08/20 17:50:38 UTC
svn commit: r1619131 - /james/site/trunk/www/server/3/dev-build.html
Author: emma
Date: Wed Aug 20 15:50:37 2014
New Revision: 1619131
URL: http://svn.apache.org/r1619131
Log:
Documentation: dev-build.xml updated
Modified:
james/site/trunk/www/server/3/dev-build.html
Modified: james/site/trunk/www/server/3/dev-build.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/3/dev-build.html?rev=1619131&r1=1619130&r2=1619131&view=diff
==============================================================================
--- james/site/trunk/www/server/3/dev-build.html (original)
+++ james/site/trunk/www/server/3/dev-build.html Wed Aug 20 15:50:37 2014
@@ -18,7 +18,7 @@
under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jan 13, 2013 -->
+<!-- Generated by Apache Maven Doxia at Aug 20, 2014 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -37,9 +37,9 @@
<script type="text/javascript" src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
<script type="text/javascript" src="./js/fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20130113" />
+ <meta name="Date-Revision-yyyymmdd" content="20140820" />
<meta http-equiv="Content-Language" content="en" />
-
+
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
<!-- Google Analytics -->
@@ -77,7 +77,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2013-01-13</span>
+ <span id="publishDate">Last Published: 2014-08-20</span>
</div>
<div class="xright"> <a href="../../index.html" title="Home">Home</a>
|
@@ -268,225 +268,254 @@
</div>
<div id="bodyColumn">
<div id="contentBox">
- <!-- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License. -->
-
-
-
- <div class="section"><h2>Why Build from Source?<a name="Why_Build_from_Source"></a></h2>
-
- <p>This step is not necessary to use the standard out of the box version of James. A
- pre-built binary version of James is available from the James download directory.</p>
-
- <p>But if you wish to customize the James source code, it will be necessary for you to
- build the distribution yourself.</p>
-
- <p>You can read on this page how to build from the command line and from eclipse IDE.</p>
-
- </div>
-
- <div class="section"><h2>Get Source Code<a name="Get_Source_Code"></a></h2>
-
- <p>There are two ways to get the James source code.</p>
-
- <ol style="list-style-type: decimal">
- <li>Download the source distribution - the source is available from the
- <a class="externalLink" href="http://james.apache.org/download.cgi">James release mirrors</a>.
- Simply choose the version of James you'd like to download, and pick the source
- distribution appropriate for your platform.</li>
- <li>Get the source code using SVN - this method gives you access to the cutting edge code
- base. Instructions on how to use SVN to get the James source code
- can be found <a class="externalLink" href="http://www.apache.org/dev/version-control.html">here</a>.
- Apache James Server beta1 repository is <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta1/">http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta1/</a>.</li>
- <li>For information, you can download all Apache James sources (server, mailbox, imap, mailet...) if you check out <a class="externalLink" href="http://svn.apache.org/repos/asf/james/current">http://svn.apache.org/repos/asf/james/current/</a>.
- Watch out!: you will get a release, but what we call a "trunk", that is on constant development and debugging.</li>
- </ol>
-
- <p>We consider in this document that you have checked-out James source code in JAMES_SRC_HOME directory.</p>
-
- <p>Consult the <a href="dev.html">architecture</a> page if you want to learn
- more on the internal source structure.</p>
-
- </div>
-
- <div class="section"><h2>Required Tools<a name="Required_Tools"></a></h2>
-
- <p>To run the build you need two third-party tools.</p>
- <ol style="list-style-type: decimal">
- <li>Java Development Kit - You must have a JDK of Java version 1.6 or higher installed to build the
- James distribution. The exact JDKs available depend on the platform. A JDK must be downloaded and
- installed before the build can run.</li>
- <li>Maven 3.0.2 - This is a Java-tailored, XML-configured, extensible build or make system. You need maven (3.0.2+) in order
- to build James. You can get maven 3.0.2 from <a class="externalLink" href="http://maven.apache.org/download.html">here</a>.
- Installation instructions for maven are also available on the same page <a class="externalLink" href="http://maven.apache.org/download.html">http://maven.apache.org/download.html</a>.</li>
- </ol>
- <p>Set (on windows) or export (on Unix) MAVEN_OPTS to tune the memory needed by maven with "MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128m"</p>
-
- </div>
-
- <div class="section"><h2>Build James Source from Command Line<a name="Build_James_Source_from_Command_Line"></a></h2>
-
- <p>In the JAMES_SRC_HOME top level directory (where the parent pom.xml resides), invoke maven with 'mvn' with any of the following command line arguments:
- </p><ul>
- <li>clean - deletes the target directory, making the system ready for a clean build.</li>
- <li>compile - compiles the source code.</li>
- <li>test - run unit tests for James.</li>
- <li><b>package - generates all the James distributions, packed.
- From the root directory, cd to 'container-spring/target' to have the build distribution.
- Notice, for the latest trunk(revision 1430655+), a specific profile argument need to be set: '-Pwith-assembly'.
- The location of final distributions is also changed to 'JAMES_SRC_HOME/server/app/target'.</b></li>
- <li>javadocs:javadocs - builds the James javadocs.</li>
- <li>site - builds the entirety of the James website.</li>
- </ul>
-
- <p>For example, invoke <tt>mvn package</tt> to get a zip/tar of James distribution.</p>
- <p>All built products are output in the <tt>container-spring/target</tt>
- subdirectory of the James source directory.
- This directory will be deleted if you run build with the clean argument.</p>
- <p><b>Warning!</b> Any changes you've made in the 'dist' directory
- will be lost after a recompilation. If you are running James for this directory
- we recommend you backup to avoid losing work. </p>
- <p>You can also invoke the command line from a shell. Go to the server project cli folder and type mvn exec:java -Dexec.args="-h localhost -p 9999 help"</p>
-
- </div>
-
- <div class="section"><h2>Build James Source from Eclipse<a name="Build_James_Source_from_Eclipse"></a></h2>
-
- <div class="section"><h3>Import projects in Eclipse with m2eclipse<a name="Import_projects_in_Eclipse_with_m2eclipse"></a></h3>
-
- <p>You should have Eclipse IDE with <a class="externalLink" href="http://m2eclipse.sonatype.org">m2eclipse</a> plugin installed.</p>
- <p>You now need to import the maven projects in the Eclipse workspace.</p>
- <p>Therefore, click on the <tt>File</tt> menu and select <tt>Import</tt>.
- Choose <tt>Existing Maven Project</tt> and click on <tt>Next</tt> button.</p>
- <img src="./images/eclipse/eclipse-import-maven-view-1.gif" alt="" />
-
- </div>
-
- <div class="section"><h3>Select Projects to Import<a name="Select_Projects_to_Import"></a></h3>
-
- <p>Select the JAMES_SRC_HOME directory where you have checked out the source code.</p>
- <p>Eclipse should present you with the list of James server modules.</p>
- <p>Select the modules you want to import (by default, all) and click on <tt>Finish</tt>
- to execute the import.</p>
-
- <img src="./images/eclipse/eclipse-import-maven-view-2.gif" alt="" />
-
- <p>You can also import other projects from
- <a class="externalLink" href="http://james.apache.org/imap/source-code.html">imap</a>,
- <a class="externalLink" href="http://james.apache.org/mailbox/source-code.html">mailbox</a>
- and <a class="externalLink" href="http://james.apache.org/protocols/source-code.html">protocols</a> to have a
- more complete view on the used sources code.</p>
-
- </div>
-
- <div class="section"><h3>Enable Workspace Resolution<a name="Enable_Workspace_Resolution"></a></h3>
-
- <p>Check that 'Workspace resolution' is enable in m2eclipse plugin.</p>
- <p>Your changes in code will be directly taken into account.</p>
- <img src="./images/eclipse/eclipse-m2eclipse-project-dependencies.gif" alt="" />
-
- </div>
-
- <div class="section"><h3>Prepare projects<a name="Prepare_projects"></a></h3>
-
- <p>Now you have James projects in Eclipse workspace.</p>
- <p>You still have to prepare the following to be able to run from Eclipse:</p>
- <ol style="list-style-type: decimal">
- <li>Copy the <tt>context</tt> folder, <tt>log4j.properties</tt>
- and <tt>META-INF</tt> folder from <tt>container-spring\src\main\config\james</tt>
- directory to a source folder of <tt>container-spring</tt> project (you can use for example a
- new folder called <tt>stage</tt> as Eclipse source folder).</li>
- <li>Copy all files (except context folder log4j.properties and META-INF/persistence.xml)
- from <tt>container-spring\src\main\config\james</tt> folder to a <tt>conf</tt> folder
- (<tt>conf</tt> folder must be a sub-folder of the JAMES_SRC_HOME directory where you made the check-out).
- As non-root privilege user, you may need to change the SMTP/IMAP/POP3 ports to values higher than 1024.</li>
- <li>For ease, you can also create 2 new eclipse projects to edit the files and visualize the created mails/store/...:
- james-server-container-spring-conf and james-server-container-spring-var.</li>
- </ol>
- <img src="./images/eclipse/eclipse-m2eclipse-projects.gif" alt="" />
-
- </div>
-
- <div class="section"><h3>Run James from Eclipse<a name="Run_James_from_Eclipse"></a></h3>
-
- <p>That's it. Run or Debug James in Eclipse (right-click on the Main class) and Have Fun!.</p>
- <img src="./images/eclipse/eclipse-run-james.gif" alt="" />
-
- <p>If you change a JPA Entity class, your will need to run 'mvn package'
- or add the following option to the VM argument of your run configuration
- '-javaagent:my_home_folder/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar'
- </p>
-
- </div>
-
- </div>
-
- <div class="section"><h2>Build James from NetBeans<a name="Build_James_from_NetBeans"></a></h2>
-
- <p>This was done using NetBeans 7, which comes bundeled with Maven 3, needed to build James 3.
- Older versions of NetBeans should be able to build James fine, provided that you configure them to use an instance of Maven 3, if they do not have it.
- I used james 3.0-beta1 release and it builded in 7:40 min on my notebook running Debian Squeeze.
- </p>
-
- <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3>
- <p>Building James with NetBeans is very easy as it comes with Subersion and Maven support already build in.
- Maven is bundeled with the IDE, but Subverion is not, so you will have to install Subversion yourself and NetBeans will be able to use it.
- You can get more details on how to install and where to get Subversion from the NetBeans Help menu by clicking on <b>Help Contents</b> and from there go to the <b>IDE Basics->Version Control and File Hierarchy->Subversion</b> topic.
- </p>
- <p>For Linux users, Subversion is probably packaged by your distribution so use your distribution tools to install it (aptitude, yum, etc.)</p>
- <p>Once you have Subversion, go to <b>Team->Subversion->Checkout</b> menu entry. <br />
- You will see an dialog window used to enter the information about the Subversion repository you are going to use. It looks like this:
- <img src="./images/netbeans/netbeans-svn-checkout1.png" alt="" />. <br />
- In the <tt>Repository URL</tt> field enter the location for James repository and click <tt>Next</tt>.
- You can use the following URL to get the trunk or developement version:
- <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/trunk">http://svn.apache.org/repos/asf/james/server/trunk</a>.<br />
- After this you will be presented with another dialog window where you can configure which folders to check out and where to save them on your machine.
- <img src="./images/netbeans/netbeans-svn-checkout2.png" alt="" />. <br />
- If you supplied the above URL you can click <tt>Finish</tt> to get trunk version and start hacking.
- You can choose another folder by clicking <tt>Browse</tt>. A new dialog window will open and from there you cand browse
- the whole subversion repository. I wanted to build James 3.0beta so I choosed <tt>james-serve-3.0-beta1</tt> under james/server/tags/ folder.
- <img src="./images/netbeans/netbeans-svn-checkout-browse.png" alt="" />. <br />
- </p>
- <p>After you click <tt>Finish</tt> NetBeans will checkout the sources. It will detect the Maven project and ask you if you wish to open the project.
- If you open the project you will see in the Projects Window (<tt>CTRL+1</tt> if not visible) something similar to the next image:<br />
- <img src="./images/netbeans/netbeans-james-project.png" alt="" />.
- </p>
-
- </div>
-
- <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3>
- <p> Building the project does not require too much work. Just go to <tt>Run->Build Project</tt> menu option.
- Make sure that James is the main project (if you have other projects open) or NetBeans will build that project instead of James.
- Once the build is finished you will find the binary distribution in <tt>container-spring/target</tt> directory.
- <img src="./images/netbeans/james-build-dir.png" alt="" />. <br />
- </p>
- </div>
-
- </div>
-
- <div class="section"><h2>Build James Source from other IDEs<a name="Build_James_Source_from_other_IDEs"></a></h2>
-
- <p>We will be happy to include on this page any other tutorial you could send
- use about developing James with your favorite Integrated Development Environment.</p>
-
- </div>
-
-
-
+ <!-- Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License. -->
+
+
+
+ <div class="section"><h2>Why Build from Source?<a name="Why_Build_from_Source"></a></h2>
+
+ <p>This step is not necessary to use the standard out of the box version of James. A
+ pre-built binary version of James is available from the James download directory.</p>
+
+ <p>But if you wish to customize the James source code, it will be necessary for you to
+ build the distribution yourself.</p>
+
+ <p>You can read on this page how to build from the command line and from eclipse IDE.</p>
+
+ </div>
+
+ <div class="section"><h2>Get Source Code<a name="Get_Source_Code"></a></h2>
+
+ <p>There are two ways to get the James source code.</p>
+
+ <ol style="list-style-type: decimal">
+ <li>Download the source distribution - the source is available from the
+ <a class="externalLink" href="http://james.apache.org/download.cgi">James release mirrors</a>.
+ Simply choose the version of James you'd like to download, and pick the source
+ distribution appropriate for your platform.</li>
+ <li>Get the source code using SVN - this method gives you access to the cutting edge code
+ base. Instructions on how to use SVN to get the James source code
+ can be found <a class="externalLink" href="http://www.apache.org/dev/version-control.html">here</a>.
+ Apache James Server beta4 repository is <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta4/">http://svn.apache.org/repos/asf/james/server/tags/james-server-3.0-beta4/</a>.</li>
+ <li>For information, you can download all Apache James sources (server, mailbox, imap, mailet...) if you check out <a class="externalLink" href="http://svn.apache.org/repos/asf/james/current">http://svn.apache.org/repos/asf/james/current/</a>.
+ Watch out!: you will get a release, but what we call a "trunk", that is on constant development and debugging.</li>
+ </ol>
+
+ <p>We consider in this document that you have checked-out James source code in JAMES_SRC_HOME directory.</p>
+
+ <p>Consult the <a href="dev.html">architecture</a> page if you want to learn
+ more on the internal source structure.</p>
+
+ </div>
+
+ <div class="section"><h2>Required Tools<a name="Required_Tools"></a></h2>
+
+ <p>To run the build you need two third-party tools.</p>
+ <ol style="list-style-type: decimal">
+ <li>Java Development Kit - You must have a JDK of Java version 1.6 or higher installed to build the
+ James distribution. The exact JDKs available depend on the platform. A JDK must be downloaded and
+ installed before the build can run.</li>
+ <li>Maven 3.0.2 - This is a Java-tailored, XML-configured, extensible build or make system. You need maven (3.0.2+) in order
+ to build James. You can get maven 3.0.2 from <a class="externalLink" href="http://maven.apache.org/download.html">here</a>.
+ Installation instructions for maven are also available on the same page <a class="externalLink" href="http://maven.apache.org/download.html">http://maven.apache.org/download.html</a>.</li>
+ </ol>
+ <p>Set (on windows) or export (on Unix) MAVEN_OPTS to tune the memory needed by maven with "MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128m"</p>
+
+ </div>
+
+ <div class="section"><h2>Build James Source from Command Line<a name="Build_James_Source_from_Command_Line"></a></h2>
+
+ <p>In the JAMES_SRC_HOME top level directory (where the parent pom.xml resides), invoke maven with 'mvn' with any of the following command line arguments:
+ </p><ul>
+ <li>clean - deletes the target directory, making the system ready for a clean build.</li>
+ <li>compile - compiles the source code.</li>
+ <li>test - run unit tests for James.</li>
+ <li><b>package - generates all the James distributions, packed.
+ From the root directory, cd to 'container-spring/target' to have the build distribution.
+ Notice, for the latest trunk(revision 1430655+), a specific profile argument need to be set: '-Pwith-assembly'.
+ The location of final distributions is also changed to 'JAMES_SRC_HOME/server/app/target'.</b></li>
+ <li>javadocs:javadocs - builds the James javadocs.</li>
+ <li>site - builds the entirety of the James website.</li>
+ </ul>
+
+ <p>For example, invoke <tt>mvn package</tt> to get a zip/tar of James distribution.</p>
+ <p>All built products are output in the <tt>container-spring/target</tt>
+ subdirectory of the James source directory.
+ This directory will be deleted if you run build with the clean argument.</p>
+ <p><b>Warning!</b> Any changes you've made in the 'dist' directory
+ will be lost after a recompilation. If you are running James for this directory
+ we recommend you backup to avoid losing work. </p>
+ <p>You can also invoke the command line from a shell. Go to the server project cli folder and type mvn exec:java -Dexec.args="-h localhost -p 9999 help"</p>
+
+ </div>
+
+ <div class="section"><h2>Build James Source from Eclipse<a name="Build_James_Source_from_Eclipse"></a></h2>
+
+ <div class="section"><h3>Import projects in Eclipse with m2eclipse<a name="Import_projects_in_Eclipse_with_m2eclipse"></a></h3>
+
+ <p>You should have Eclipse IDE with <a class="externalLink" href="http://m2eclipse.sonatype.org">m2eclipse</a> plugin installed.</p>
+ <p>You now need to import the maven projects in the Eclipse workspace.</p>
+ <p>Therefore, click on the <tt>File</tt> menu and select <tt>Import</tt>.
+ Choose <tt>Existing Maven Project</tt> and click on <tt>Next</tt> button.</p>
+ <img src="./images/eclipse/eclipse-import-maven-view-1.gif" alt="" />
+
+ </div>
+
+ <div class="section"><h3>Select Projects to Import<a name="Select_Projects_to_Import"></a></h3>
+
+ <p>Select the JAMES_SRC_HOME directory where you have checked out the source code.</p>
+ <p>Eclipse should present you with the list of James server modules.</p>
+ <p>Select the modules you want to import (by default, all) and click on <tt>Finish</tt>
+ to execute the import.</p>
+
+ <img src="./images/eclipse/eclipse-import-maven-view-2.gif" alt="" />
+
+ <p>You can also import other projects from
+ <a class="externalLink" href="http://james.apache.org/imap/source-code.html">imap</a>,
+ <a class="externalLink" href="http://james.apache.org/mailbox/source-code.html">mailbox</a>
+ and <a class="externalLink" href="http://james.apache.org/protocols/source-code.html">protocols</a> to have a
+ more complete view on the used sources code.</p>
+
+ </div>
+
+ <div class="section"><h3>Enable Workspace Resolution<a name="Enable_Workspace_Resolution"></a></h3>
+
+ <p>Check that 'Workspace resolution' is enable in m2eclipse plugin.</p>
+ <p>Your changes in code will be directly taken into account.</p>
+ <img src="./images/eclipse/eclipse-m2eclipse-project-dependencies.gif" alt="" />
+
+ </div>
+
+ <div class="section"><h3>Prepare projects<a name="Prepare_projects"></a></h3>
+
+ <p>Now you have James projects in Eclipse workspace.</p>
+ <p>You still have to prepare the following to be able to run from Eclipse:</p>
+ <ol style="list-style-type: decimal">
+ <li>Copy the <tt>context</tt> folder, <tt>log4j.properties</tt>
+ and <tt>META-INF</tt> folder from <tt>container-spring\src\main\config\james</tt>
+ directory to a source folder of <tt>container-spring</tt> project (you can use for example a
+ new folder called <tt>stage</tt> as Eclipse source folder).</li>
+ <li>Copy all files (except context folder log4j.properties and META-INF/persistence.xml)
+ from <tt>container-spring\src\main\config\james</tt> folder to a <tt>conf</tt> folder
+ (<tt>conf</tt> folder must be a sub-folder of the JAMES_SRC_HOME directory where you made the check-out).
+ As non-root privilege user, you may need to change the SMTP/IMAP/POP3 ports to values higher than 1024.</li>
+ <li>For ease, you can also create 2 new eclipse projects to edit the files and visualize the created mails/store/...:
+ james-server-container-spring-conf and james-server-container-spring-var.</li>
+ </ol>
+ <img src="./images/eclipse/eclipse-m2eclipse-projects.gif" alt="" />
+
+ </div>
+
+ <div class="section"><h3>Run James from Eclipse<a name="Run_James_from_Eclipse"></a></h3>
+
+ <p>That's it. Run or Debug James in Eclipse (right-click on the Main class) and Have Fun!.</p>
+ <img src="./images/eclipse/eclipse-run-james.gif" alt="" />
+
+ <p>If you change a JPA Entity class, your will need to run 'mvn package'
+ or add the following option to the VM argument of your run configuration
+ '-javaagent:my_home_folder/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar'
+ </p>
+
+ </div>
+
+ </div>
+
+ <div class="section"><h2>Build James from NetBeans<a name="Build_James_from_NetBeans"></a></h2>
+
+ <p>This was done using NetBeans 7, which comes bundeled with Maven 3, needed to build James 3.
+ Older versions of NetBeans should be able to build James fine, provided that you configure them to use an instance of Maven 3, if they do not have it.
+ I used james 3.0-beta1 release and it builded in 7:40 min on my notebook running Debian Squeeze.
+ </p>
+
+ <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3>
+ <p>Building James with NetBeans is very easy as it comes with Subersion and Maven support already build in.
+ Maven is bundeled with the IDE, but Subverion is not, so you will have to install Subversion yourself and NetBeans will be able to use it.
+ You can get more details on how to install and where to get Subversion from the NetBeans Help menu by clicking on <b>Help Contents</b> and from there go to the <b>IDE Basics->Version Control and File Hierarchy->Subversion</b> topic.
+ </p>
+ <p>For Linux users, Subversion is probably packaged by your distribution so use your distribution tools to install it (aptitude, yum, etc.)</p>
+ <p>Once you have Subversion, go to <b>Team->Subversion->Checkout</b> menu entry. <br />
+ You will see an dialog window used to enter the information about the Subversion repository you are going to use. It looks like this:</p>
+ <img src="./images/netbeans/netbeans-svn-checkout1.png" alt="" />
+ <p>In the <tt>Repository URL</tt> field enter the location for James repository and click <tt>Next</tt>.
+ You can use the following URL to get the trunk or development version:
+ <a class="externalLink" href="http://svn.apache.org/repos/asf/james/server/trunk">http://svn.apache.org/repos/asf/james/server/trunk</a>.<br />
+ After this you will be presented with another dialog window where you can configure which folders to check out and where to save them on your machine.</p>
+ <img src="./images/netbeans/netbeans-svn-checkout2.png" alt="" />
+ <p>If you supplied the above URL you can click <tt>Finish</tt> to get trunk version and start hacking.
+ You can choose another folder by clicking <tt>Browse</tt>. A new dialog window will open and from there you can browse
+ the whole subversion repository. I wanted to build James 3.0beta so I choosed <tt>james-serve-3.0-beta1</tt> under james/server/tags/ folder. <br /></p>
+ <img src="./images/netbeans/netbeans-svn-checkout-browse.png" alt="" />
+
+ <p>After you click <tt>Finish</tt> NetBeans will checkout the sources. It will detect the Maven project and ask you if you wish to open the project.
+ If you open the project you will see in the Projects Window (<tt>CTRL+1</tt> if not visible) something similar to the next image:<br /></p>
+ <img src="./images/netbeans/netbeans-james-project.png" alt="" />
+
+ </div>
+
+ <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3>
+ <p> Building the project does not require too much work. Just go to <tt>Run->Build Project</tt> menu option.
+ Make sure that James is the main project (if you have other projects open) or NetBeans will build that project instead of James.
+ Once the build is finished you will find the binary distribution in <tt>container-spring/target</tt> directory. <br /></p>
+ <img src="./images/netbeans/james-build-dir.png" alt="" />
+ </div>
+
+ </div>
+
+ <div class="section"><h2>Build James from IntelliJ IDEA<a name="Build_James_from_IntelliJ_IDEA"></a></h2>
+
+ <p>This section has been created using IntelliJ IDEA 12 and Maven 3. And downloading the trunk version of the server
+ from <tt>http://svn.apache.org/repos/asf/james/server/trunk/</tt>.
+ </p>
+
+ <div class="section"><h3>Getting the sources from the repository<a name="Getting_the_sources_from_the_repository"></a></h3>
+ <p>To download the source code, you can use the Subversion support that comes with IntelliJ IDEA following the next steps:</p>
+
+ <p>First, in the Welcome page, click on <b>Check out from Version Control</b> and select <b>Subversion</b>.</p>
+ <img src="./images/intellij-idea/intellij-new-project.png" alt="" />
+ <p>In the pop-up window, press the <b>+</b> button to add the James code repository in the next pop-up.</p>
+ <img src="./images/intellij-idea/intellij-svn-repo.png" alt="" /> <br />
+ <img src="./images/intellij-idea/intellij-svn-repo-add-repo.png" alt="" /> <br />
+ <p>Then, choose the location for the project.</p>
+ <img src="./images/intellij-idea/intellij-svn-repo-checkout-choose-folder.png" alt="" />
+
+ <p>When this process is done, the project should look like this. <br /></p>
+ <img src="./images/intellij-idea/intellij-james-project.png" alt="" />
+
+ </div>
+
+ <div class="section"><h3>Building the project<a name="Building_the_project"></a></h3>
+ <p> To build the project, you must open the <b>Maven Projects</b> panel. Then double click on the install goal to run this goal.<br /></p>
+ <img src="./images/intellij-idea/intellij-mvn.png" alt="" />
+ <p>Then you will find the James server zip in the <b>app/target</b> folder.<br /></p>
+ <img src="./images/intellij-idea/intellij-james-zip.png" alt="" />
+ </div>
+ </div>
+
+
+ <div class="section"><h2>Build James Source from other IDEs<a name="Build_James_Source_from_other_IDEs"></a></h2>
+
+ <p>We will be happy to include on this page any other tutorial you could send
+ use about developing James with your favorite Integrated Development Environment.</p>
+
+ </div>
+
+
+
</div>
</div>
@@ -494,7 +523,7 @@
<hr/>
</div>
<div id="footer">
- <div class="xright">Copyright © 2002-2013
+ <div class="xright">Copyright © 2002-2014
<a href="http://www.apache.org/">The Apache Software Foundation</a>.
All Rights Reserved.