blob: d2df87f8eb87b1b1249b37de7bb3ef7f52495c43 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<!-- ====================================================================== -->
<!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
<!-- ====================================================================== -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<style type="text/css">@import "stylesheets/base.css";</style>
<meta name="author" value="
Apache UIMA Documentation Team">
<meta name="email" value="dev@uima.apache.org">
<title>Apache UIMA - Building UIMA</title>
<!-- Begin Cookie Consent plugin by Silktide - https://silktide.com/cookieconsent -->
<!-- Commented out because implied consent is not compatible with GDPR -->
<!--
<script type="text/javascript">
window.cookieconsent_options = {"message":"This website uses cookies to ensure you get the best experience on our website","dismiss":"Got it!","learnMore":"More info","link":"https://uima.apache.org/privacy-policy.html","theme":"dark-bottom"};
</script>
<script type="text/javascript" src="/cookieconsent2/cookieconsent.min.js"></script>
-->
<!-- End Cookie Consent plugin -->
<!-- Begin Google Analytics -->
<!-- Commented out because GA requires consent according to GDPR -->
<!--
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-70846351-1', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
-->
<!-- End Google Analytics -->
</head>
<body>
<div class="topLogos">
<table border="0" width="100%" cellspacing="0">
<!-- TOP IMAGE -->
<tr>
<td align='LEFT'>
<a href="index.html">
<img style="border: 1px solid black;" src="./images/UIMA_banner2tlpTm.png" alt="UIMA project logo" border="0"/>
</a>
</td>
<td align='CENTER'>
<div class="pageBanner">Building UIMA</div>
</td>
<td align='RIGHT'>
<a href="https://www.apache.org">
<img src="./images/asf-logo-on-white-smallTm.png" alt="Apache UIMA" border="0"/>
</a>
</td>
</tr>
</table>
<hr noshade="" size="1"/>
</div>
<table border="0" width="100%" cellspacing="4">
<tr>
<td align='RIGHT' colspan="2">
<form method="get" action="https://www.google.com/search">
Search the site
<input type="text" name="q" size="25" maxlength="255" value="" />
<input type="hidden" name="sitesearch" value="https://uima.apache.org/" />
<input name="Search" value="Search Site" type="submit"/>
</form>
</td>
</tr>
<tr> <!-- LEFT SIDE NAVIGATION -->
<td width="20%" valign="top">
<!-- regular menu -->
<div class="navBar">
<br/>
<div class="navBarItem"> <div class="navPartHeading">General</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./index.html">Home</a>
</div>
<div class="navBarItem"> <a href="./downloads.cgi">Downloads</a>
</div>
<div class="navBarItem"> <a href="./documentation.html">Documentation</a>
</div>
<div class="navBarItem"> <a href="./news.html">News</a>
</div>
<div class="navBarItem"> <a href="./publications.html">Publications</a>
</div>
<br style="line-height: .5em"/>
<div class="navBarItem"> <a href="https://issues.apache.org/jira/browse/uima" target="_blank" rel="noopener">Issue tracker <img src="images/offsitelink.png"/></a>
</div>
<div class="navBarItem"> <a href="https://cwiki.apache.org/confluence/display/UIMA/" target="_blank" rel="noopener">Wiki <img src="images/offsitelink.png"/></a>
</div>
<br style="line-height: .5em"/>
<div class="navBarItem"> <a href="https://cwiki.apache.org/confluence/display/UIMA/Powered+by+Apache+UIMA" target="_blank" rel="noopener">Powered By UIMA <img src="images/offsitelink.png"/></a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">Community</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./get-involved.html">Get Involved</a>
</div>
<div class="navBarItem"> <a href="./mail-lists.html">Mailing Lists</a>
</div>
<div class="navBarItem"> <a href="./contribution-policy.html">Contribution Policies</a>
</div>
<div class="navBarItem"> <a href="./faq.html">FAQ</a>
</div>
<div class="navBarItem"> <a href="./project-guidelines.html">Project Guidelines</a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">Scaleout Frameworks</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./doc-uimaas-what.html">UIMA-AS</a>
</div>
<div class="navBarItem"> <a href="./doc-uimaducc-whatitam.html">UIMA-DUCC</a>
</div>
<div class="navBarItem"> <a href="./doc-uimaducc-demo.html">..Demo Page</a>
</div>
<div class="navBarItem"> <a href="http://uima-ducc-demo.apache.org:42133" target="_blank" rel="noopener">..Demo Live <img src="images/offsitelink.png"/></a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">Components & Tools</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./sandbox.html#uima-addons-annotators">Annotators</a>
</div>
<div class="navBarItem"> <a href="./toolsServers.html">Tools & Servers</a>
</div>
<div class="navBarItem"> <a href="./sandbox.html">Addons and Sandbox</a>
</div>
<div class="navBarItem"> <a href="./ruta.html">UIMA Ruta</a>
</div>
<div class="navBarItem"> <a href="./uimafit.html">uimaFIT</a>
</div>
<div class="navBarItem"> <a href="./external-resources.html">External Resources</a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">Development</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./dev-quick.html">Quick Start: building</a>
</div>
<div class="navBarItem"> <a href="./building-uima.html">Building from Source</a>
</div>
<div class="navBarItem"> <a href="./one-time-setup.html">One-time setups</a>
</div>
<div class="navBarItem"> <a href="./svn.html">Source Code</a>
</div>
<div class="navBarItem"> <a href="./release.html">Doing a UIMA release</a>
</div>
<div class="navBarItem"> <a href="https://www.apache.org/security/committers.html" target="_blank" rel="noopener">Doing a CVE (Apache) <img src="images/offsitelink.png"/></a>
</div>
<div class="navBarItem"> <a href="./eclipse-update-site.html">Eclipse Update Sites</a>
</div>
<div class="navBarItem"> <a href="./git.html">GIT</a>
</div>
<div class="navBarItem"> <a href="./codeConventions.html">Code Conventions</a>
</div>
<div class="navBarItem"> <a href="./uima-specification.html">UIMA Specification (OASIS)</a>
</div>
<div class="navBarItem"> <a href="./team-list.html">Project Team</a>
</div>
<div class="navBarItem"> <a href="./maven-design.html">Maven Use</a>
</div>
<div class="navBarItem"> <a href="./updating-website.html">Updating this Website</a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">Events and Conferences</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="./coling14.html">COLING 2014</a>
</div>
<div class="navBarItem"> <a href="./gscl13.html">GSCL 2013</a>
</div>
<div class="navBarItem"> <a href="./iks09.html">IKS 2009</a>
</div>
<div class="navBarItem"> <a href="./gscl09.html">GSCL 2009</a>
</div>
<div class="navBarItem"> <a href="./lsm09.html">LSM 2009</a>
</div>
<div class="navBarItem"> <a href="./lrec08.html">LREC 2008</a>
</div>
<div class="navBarItem"> <a href="./gldv07.html">GLDV 2007</a>
</div>
</div>
<br/>
<div class="navBarItem"> <div class="navPartHeading">ASF</div>
</div>
<div class="navBar">
<div class="navBarItem"> <a href="https://www.apache.org/licenses/" target="_blank" rel="noopener">License <img src="images/offsitelink.png"/></a>
</div>
<div class="navBarItem"> <a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener">ASF Sponsors <img src="images/offsitelink.png"/></a>
</div>
<div class="navBarItem"> <a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener">ASF Sponsorship <img src="images/offsitelink.png"/></a>
</div>
<div class="navBarItem"> <a href="./security_report">Security</a>
</div>
</div>
</div>
</td>
<td width="80%" align="left" valign="top">
<div class="sectionTable">
<table class="sectionTable">
<tr><td>
<a name="Building Apache UIMA&trade; from sources"><h1><img src="images/UIMA_4sq50tightCropSolid.png"/>&nbsp;Building Apache UIMA&trade; from sources</h1></a>
</td></tr>
<tr><td>
<blockquote class="sectionBody">
<p>
We use <a class="external" rel="nofollow noopener" target="_blank" href="https://maven.apache.org/">Maven</a>, release 3.0 or later, for building.
Most of us use <a class="external" rel="nofollow noopener" target="_blank" href="">Eclipse</a> as the IDE for working with Java. Maven has a plugin for Eclipse,
<a class="external" rel="nofollow noopener" target="_blank" href="https://m2eclipse.sonatype.org/">m2eclipse</a>, that is useful in working with Maven from
within Eclipse.
</p>
<table class="subsectionTable">
<tr><td>
<a name="One time initial setup">
<h2>One time initial setup
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<ul>
<li>
<a href="one-time-setup.html#svn-setup">SVN: Click here for the one-time SVN setup</a>.
</li>
<li>
<a href="one-time-setup.html#maven-setup">Maven: Click here for the one-time Maven 3.0 setup</a>.
</li>
<li>
<a href="one-time-setup.html#eclipse-setup">Eclipse: Click here for the one-time Eclipse setup</a>.
This is only needed if you are using Eclipse as your IDE.
</li>
</ul>
</blockquote>
</td></tr>
</table>
<table class="subsectionTable" id='building.command.line'>
<tr><td>
<a name="Building UIMA - using the command line">
<h2>Building UIMA - using the command line
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<ol>
<li><p><b>SVN Checkout:</b>
If the project is a module of a multi-module project (e.g., uimaj or uima-as),
check out the SVN directory containing all of the modules for the multi-module project.
</p>
<p>For example, (Windows - UIMA-SDK):<br />
<code> svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunk c:\myWorkingDirectoryForUimaj</code>
</p>
<p>For UIMA-AS:<br />
<code> svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunk c:\myWorkingDirectoryForUima-as</code>
</p>
<p>If you have <a class="external" rel="nofollow noopener" target="_blank" href="https://tortoisesvn.tigris.org/">tortoiseSVN</a> windows shell extensions installed,
you can use the <code>repo-browser</code> right-click menu option to do this.</p>
</li>
<li><p>
<code>cd to c:\myWorkingDirectoryForUimaj\</code> or <br />
<code>cd to c:\myWorkingDirectoryForUima-as\</code>.</p>
</li>
<li><p><code>mvn install</code></p>
<p>This will build the project and install it to your local Maven repository.
For multi-module projects, it will build all the submodules.</p>
<p>However, it <b>won't build the ...-source-release.zip</b> of all
the sources. To build this along with the rest of the build, include the
parameter -Papache-release, like so:<br />
<code>mvn install -Papache-release</code>
</p>
</li>
<p class="note">
Note: UIMA-AS depends on the UIMA SDK (called uimaj above), so before building UIMA-AS, please checkout and build uimaj first.
</p>
</ol>
<p>
The build process builds all of the jars, any docbooks, runs the unit tests and other
validity checks, and may build a multi-module binary assembly (varies according to each project).
The output artifacts (Jars, html and pdf documents, etc.) are found in
each module's "target" directory, and
also are put into your local Maven repository.
Docbook output is placed in each project's target/site/d directory.
</p>
<p>Multi-module builds create the build artifacts (including the binary assembly) in the <code>target</code> folder of their top level project.
</p>
</blockquote>
</td></tr>
</table>
<table class="subsectionTable" id='building-from-eclipse'>
<tr><td>
<a name="Building using Eclipse, with the m2eclipse plugin">
<h2>Building using Eclipse, with the m2eclipse plugin
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<ol>
<li>Checkout from SVN exactly as above, into some location. Then use
Eclipse menu: <code>File -&gt; Import -&gt; Maven -&gt; Existing Maven projects</code>
to import the project or projects (for multi-module projects) into an Eclipse workspace
and set them up for Maven building.</li>
<li>To run Maven commands on a project from within Eclipse, select the project, right click, and pick <code>Run as</code>
and then select <code>mvn install</code> (or other choice as you wish).</li>
</ol>
<p class="note"><big><b>Help! I'm getting compile errors (class not found) in Eclipse!</b></big>
If your Maven build generates sources (e.g., you have some XMLBeans defined),
then after the initial import and project build, you'll need to use the m2eclipse command
<code>Update Project Configuration</code> found on the <code>Maven</code> context menu
obtained by right-clicking the project folder.
This will add the generated classes to Eclipse's classpath.</p>
<p>Within a project, you can run the unit tests in Eclipse by right-clicking on a folder (for example
<code>uimaj-core/src/test/java</code>) and selecting <code>Run As -&gt; JUnit Test</code>. This will run all tests
under that folder.</p>
</blockquote>
</td></tr>
</table>
<table class="subsectionTable" id='building.docbooks'>
<tr><td>
<a name="Building uima-docbooks">
<h2>Building uima-docbooks
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<p>Docbook processing is done normally as a part of regular maven building of projects
which have Docbooks.
The base uimaj projects have 4 docbooks, and there is an aggregate project which builds
all 4 of these: aggregate-uimaj-docbooks.
Docbooks are built by the normal maven lifecycle, in the prepare-package phase.</p>
</blockquote>
</td></tr>
</table>
<table class="subsectionTable" id='building.docbooks.a4'>
<tr><td>
<a name="Creating A4-size PDF documentation">
<h2>Creating A4-size PDF documentation
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<p>The PDF docbook generation defaults to a paper type of USletter. You may override this
by specifying the Maven property "pdfPaperType". You may specify this on the command line
as follows:
<code>mvn -DpdfPaperType=A4 package</code>
</p>
<p>The allowed values for paper type in Docbook can be seen on this page:
<a class="external" target="_blank" rel="nofollow noopener" href="https://docbook.sourceforge.net/release/xsl/current/doc/fo/page.width.portrait.html">
https://docbook.sourceforge.net/release/xsl/current/doc/fo/page.width.portrait.html</a>.
</p>
</blockquote>
</td></tr>
</table>
<table class="subsectionTable" id='test.failure'>
<tr><td>
<a name="What to do if the tests fail">
<h2>What to do if the tests fail
</h2>
</a>
</td></tr>
<tr><td>
<blockquote class="subsectionBody">
<p>
(Note: this kludgy procedure needs improvement)
</p>
<p>
If you get a failure message, the details of the failures are logged in a file
for each project which has a failure, in the folder target/surefire-reports.
In Eclipse, you can use the Search facility to search Files in the workspace of type "*.txt"
for the string "&lt;&lt;&lt; FAILURE!" to locate all the failure messages.
</p>
<p>
If not using Eclipse, you can use <code>grep</code> to accomplish the same thing.
</p>
<p>You can bypass the tests by doing mvn -Dmaven.test.skip install. But please do this only
after you've run without it and have verified the tests results.</p>
</blockquote>
</td></tr>
</table>
</blockquote>
</p>
</td></tr>
</table>
</td>
</tr>
<!-- FOOTER -->
<tr><td colspan="2">
<hr noshade="" size="1"/>
</td></tr>
<tr><td colspan="2">
<table class="pageFooter">
<tr>
<td><a href="index.html">Home</a></td>
<td><a href="privacy-policy.html">Privacy Policy</a></td>
<td style="font-size:75%">
Copyright &#169; 2006-2013, The Apache Software Foundation.<br/>
Apache UIMA, UIMA, the Apache UIMA logo and the Apache Feather logo are trademarks of The Apache Software Foundation.<br/>
All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</td>
<td><a href="mailto:dev@uima.apache.org">Contact us</a></td>
</tr>
</table>
</td></tr>
</table>
</body>
</html>