blob: 1804a22faf9b56335a7fa3f8625aba8892879a55 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TomEE and Eclipse</title>
<meta name="description" content="Apache TomEE">
<meta name="author" content="Apache TomEE">
<meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le styles -->
<link href="./resources/css/bootstrap.css" rel="stylesheet">
<link href="./resources/css/prettify.css" rel="stylesheet">
<!--link href="./resources/css/bootstrap-mods.css" rel="stylesheet"-->
<link href="./resources/css/main.css" rel="stylesheet">
<link href="./resources/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
var u = encodeURIComponent(""+document.URL);
function fbshare () {
window.open(
"http://www.facebook.com/sharer/sharer.php?u="+u,
'Share on Facebook',
'width=640,height=426');
};
function gpshare () {
window.open(
"https://plus.google.com/share?url="+u,
'Share on Google+',
'width=584,height=385');
};
function twshare () {
window.open(
"https://twitter.com/intent/tweet?url="+u+"&text="+t,
'Share on Twitter',
'width=800,height=526');
};
function pinshare () {
window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
'Share on Pinterest',
'width=800,height=526');
};
</script>
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="./favicon.ico">
<link rel="apple-touch-icon" href="./resources/images/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="./resources/images/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="./resources/images/apple-touch-icon-114x114.png">
<script src="./resources/js/prettify.js" type="text/javascript"></script>
<script src="./resources/js/jquery-latest.js"></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<script src="./resources/js/common.js"></script>
<script src="./resources/js/prettyprint.js"></script>
<!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2717626-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="topbar" data-dropdown="dropdown">
<div class="fill">
<div class="container">
<a class="brand" href="./index.html">Apache TomEE</a>
<ul class="nav">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Apache
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<!-- <li><a href="./misc/whoweare.html">Who we are?</a></li> -->
<!-- <li><a href="./misc/heritage.html">Heritage</a></li> -->
<li><a href="http://www.apache.org">Apache Home</a></li>
<!-- <li><a href="./misc/resources.html">Resources</a></li> -->
<li><a href="./misc/contact.html">Contact</a></li>
<li><a href="./misc/legal.html">Legal</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li class="divider"/>
<li><a href="http://www.apache.org/security">Security</a></li>
</ul>
</li>
<li><a href="./index.html">Home</a></li>
<li><a href="./downloads.html">Downloads</a></li>
<li><a href="./documentation.html">Documentation</a></li>
<li><a href="./examples-trunk/index.html">Examples</a></li>
<li><a href="./support.html">Support</a></li>
<li><a href="./contribute.html">Contribute</a></li>
<li><a href="./security/index.html">Security</a></li>
</ul>
<!-- Google CSE Search Box Begins -->
<FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
<INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
<INPUT type="hidden" name="cof" value="FORID:0">
<INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
</FORM>
<!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
<!-- Google CSE Search Box Ends -->
</div>
</div>
</div>
<div class="container">
<div class="page-header">
<small><a href="./index.html">Home</a></small><br>
<h1>TomEE and Eclipse
<div style="float: right; position: relative; bottom: -10px; ">
<a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
<a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
<a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
<a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
<a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
</div>
</h1>
</div>
<p>Using TomEE in Eclipse is pretty simple since it uses the existing Tomcat 7 server adaptor that comes
with Eclipse.</p>
<h2>Quick Start</h2>
<p>An excellent instructional video with step-by-step instructions on how to install Eclipse, TomEE
and create/deploy your first project is available on YouTube here: <a href="http://www.youtube.com/watch?v=Lr8pxEACVRI" title="Getting Started with Apache TomEE">Getting Started with Apache TomEE</a> (Remember to select the 'Generate web.xml descriptor' checkbox during project setup. Otherwise the ejb does not get injected and you will get an error.).</p>
<ol>
<li>Download and install both Apache TomEE and Eclipse.</li>
<li>Start Eclipse and from the main menu go to <strong>File</strong> - <strong>New</strong> - <strong>Dynamic Web Project</strong></li>
<li>Enter a new project name</li>
<li>In the <strong>Target Runtime</strong> section click on the <strong>New Runtime</strong> button.</li>
<li>Pick <strong>Apache Tomcat v7.0</strong> and click Next</li>
<li>Change the <strong>Name</strong> field to <em>TomEE</em> to indicate that this is a TomEE server rather than a Tomcat server.</li>
<li>Set the <strong>Tomcat installation directory</strong> by clicking the <strong>Browse</strong> button and selecting the folder
where you extracted TomEE</li>
<li>Click <strong>Finish</strong> to return to the New Project dialog</li>
<li>Click <strong>Finish</strong> to complete creating your new Project</li>
<li>When you're ready to deploy your project, right-click your project and select Run As - Run On Server</li>
<li>Make sure that the <em>TomEE</em> environment is selected in the <strong>Server runtime environment</strong></li>
<li>On the <strong>Run on Server</strong> dialog, click the <strong>Always use this server when running this project</strong> checkbox</li>
<li>Click <strong>Finish</strong> - Eclipse will start TomEE and deploy your project</li>
</ol>
<h2>Advanced installation</h2>
<ol>
<li>In Eclipse, click on the <strong>Servers</strong> tab, right click and select New - Server.</li>
<li>Select <strong>Apache - Tomcat v7.0 Server</strong> and click <strong>Next</strong></li>
<li>Set the <strong>Tomcat installation directory</strong> by clicking the <strong>Browse</strong> button and selecting the folder
where you extracted TomEE</li>
<li>Add your webapp to the server. Click <strong>Finish</strong>.</li>
<li>In the <strong>Servers</strong> tab, double click on your server to open up the <strong>Overview</strong> page.
Click on the <strong>Modules</strong> tab</li>
<li>Click <strong>Add External Web Module</strong>. In the <strong>Add Web Module</strong> dialog, for document base, browse
to <code>&lt;TomEE&gt;/webapps/tomee</code>. Set <strong>Path:</strong> to <code>/tomee</code>. Uncheck <strong>Auto reloading enabled</strong>. Click OK.</li>
<li>Return to the <strong>Overview</strong> tab for the server.</li>
<li>Deselect the <strong>Modules auto reload by default</strong> checkbox.</li>
<li>If you do not want Eclipse to take control of your TomEE installation, select <strong>Use Workspace Metadata</strong>
under <strong>Server Locations</strong>. Please review the <em>Workspace Metadata Installation</em> section below for additional steps
in this scenario. Otherwise, select <strong>Use Tomcat Installation</strong></li>
<li>Click the Save button in Eclipse so the server configuration gets saved.</li>
<li>Click on your webapp project, then select Project - clean. Hit OK. This will cause
Eclipse to clean and rebuild</li>
<li>In the <strong>Servers</strong> tab, right click on the server and select <strong>Publish</strong>.</li>
<li>Start the server.</li>
</ol>
<h3>Workspace Metadata Installation</h3>
<p>If you used <strong>Use Workspace Metadata</strong> in the <strong>Server Locations</strong> definition of the TomEE server,
you will have to add TomEE specific configuration files to your Servers project in your workspace
in case you need to change system properties or add containers / resources and have those reflected in the
server running under Eclipse.</p>
<ol>
<li>Locate your TomEE server configuration in Workspace / Servers</li>
<li>Right-click the server project and select <strong>Import</strong></li>
<li>Select General - File System and click <strong>Next</strong></li>
<li>Browse to your <code>&lt;TomEE&gt;/conf</code> folder</li>
<li>Select the following files for import: <code>logging.properties</code>, <code>system.properties</code> and <code>tomee.xml</code></li>
<li>Click <strong>Finish</strong> to import the files.</li>
<li>In the <strong>Servers</strong> tab, right-click the TomEE server and select <strong>Publish</strong> to publish the files to the
Eclipse metadata folder</li>
</ol>
<p>If you need to modify system properties or change your TomEE resources, containers, etc., you now need to make
those changes in the Workspace / Servers / <code>&lt;</code>Your Server<code>&gt;</code> location and publish them to the server for
the changes to take effect.</p>
<h3>JSP Hot Deployment</h3>
<p>If jsp changes are not being hot deployed then this is because the jsp servlet is set to development=false in the web.xml file. To allow jsp hot deployment alter this value to true and restart Tomee.</p>
<p>This is the relevant snippet of the web.xml file.</p>
<pre><code>&lt;servlet&gt;
&lt;servlet-name&gt;jsp&lt;/servlet-name&gt;
&lt;servlet-class&gt;org.apache.jasper.servlet.JspServlet&lt;/servlet-class&gt;
....
&lt;init-param&gt;
&lt;param-name&gt;development&lt;/param-name&gt;
&lt;param-value&gt;true&lt;/param-value&gt;
&lt;/init-param&gt;
....
&lt;/servlet&gt;
</code></pre>
<h2>How to use JULI for TomEE in WTP?</h2>
<p>It seems that WTP doesn't manage correctly Tomcat logging configuration (which needs to be done through
system properties). A quick workaround is to add these properties manually:</p>
<pre><code>-Djava.util.logging.config.file="&lt;tomee&gt;/conf/logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
</code></pre>
<p>More information on: http://wiki.eclipse.org/WTP_Tomcat_FAQ#How_do_I_enable_the_JULI_logging_in_a_Tomcat_5.5_Server_instance.3F</p>
<div id="edit" class="modal hide fade in" style="display: none; ">
<div class="modal-header">
<a class="close" data-dismiss="modal">x</a>
<h3>Thank you for contributing to the documentation!</h3>
</div>
<div class="modal-body">
<h4>Any help with the documentation is greatly appreciated.</h4>
<p>All edits are reviewed before going live, so feel free to do much more than fix typos or links. If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it. Don't be surprised if we like it so much we ask you for help with other pages :)</p>
<small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
<!--[if gt IE 6]>
<h4>Internet Explorer Users</h4>
<p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
<![endif]-->
</div>
<div class="modal-footer">
Do you have an Apache ID?
<a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
<a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
</div>
</div>
<script src="./resources/js/bootstrap-modal.js"></script>
<footer>
<p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</footer>
</div> <!-- /container -->
<!-- Javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./resources/js/bootstrap-dropdown.js"></script>
</body>
</html>