Title: TomEE and Eclipse Notice: 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. Using TomEE in Eclipse is pretty simple since it uses the existing Tomcat 7 server adaptor that comes with Eclipse. ## Quick Start 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: [Getting Started with Apache TomEE][1] (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.). 1. Download and install both Apache TomEE and Eclipse. 1. Start Eclipse and from the main menu go to **File** - **New** - **Dynamic Web Project** 1. Enter a new project name 1. In the **Target Runtime** section click on the **New Runtime** button. 1. Pick **Apache Tomcat v7.0** and click Next 1. Change the **Name** field to *TomEE* to indicate that this is a TomEE server rather than a Tomcat server. 1. Set the **Tomcat installation directory** by clicking the **Browse** button and selecting the folder where you extracted TomEE 1. Click **Finish** to return to the New Project dialog 1. Click **Finish** to complete creating your new Project 1. When you're ready to deploy your project, right-click your project and select Run As - Run On Server 1. Make sure that the *TomEE* environment is selected in the **Server runtime environment** 1. On the **Run on Server** dialog, click the **Always use this server when running this project** checkbox 1. Click **Finish** - Eclipse will start TomEE and deploy your project ## Advanced installation 1. In Eclipse, click on the **Servers** tab, right click and select New - Server. 1. Select **Apache - Tomcat v7.0 Server** and click **Next** 1. Set the **Tomcat installation directory** by clicking the **Browse** button and selecting the folder where you extracted TomEE 1. Add your webapp to the server. Click **Finish**. 1. In the **Servers** tab, double click on your server to open up the **Overview** page. Click on the **Modules** tab 1. Click **Add External Web Module**. In the **Add Web Module** dialog, for document base, browse to `/webapps/tomee`. Set **Path:** to `/tomee`. Uncheck **Auto reloading enabled**. Click OK. 1. Return to the **Overview** tab for the server. 1. Deselect the **Modules auto reload by default** checkbox. 1. If you do not want Eclipse to take control of your TomEE installation, select **Use Workspace Metadata** under **Server Locations**. Please review the *Workspace Metadata Installation* section below for additional steps in this scenario. Otherwise, select **Use Tomcat Installation** 1. Click the Save button in Eclipse so the server configuration gets saved. 1. Click on your webapp project, then select Project - clean. Hit OK. This will cause Eclipse to clean and rebuild 1. In the **Servers** tab, right click on the server and select **Publish**. 1. Start the server. ### Workspace Metadata Installation If you used **Use Workspace Metadata** in the **Server Locations** 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. 1. Locate your TomEE server configuration in Workspace / Servers 1. Right-click the server project and select **Import** 1. Select General - File System and click **Next** 1. Browse to your `/conf` folder 1. Select the following files for import: `logging.properties`, `system.properties` and `tomee.xml` 1. Click **Finish** to import the files. 1. In the **Servers** tab, right-click the TomEE server and select **Publish** to publish the files to the Eclipse metadata folder 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 / `<`Your Server`>` location and publish them to the server for the changes to take effect. ### JSP Hot Deployment 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. This is the relevant snippet of the web.xml file. jsp org.apache.jasper.servlet.JspServlet .... development true .... ## How to use JULI for TomEE in WTP? 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: -Djava.util.logging.config.file="/conf/logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 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 [1]: http://www.youtube.com/watch?v=Lr8pxEACVRI "Getting Started with Apache TomEE"