/lib directory within EAR file

I have an EAR file that contains several WAR files. I would like to remove the 'WEB-INF/lib' directory from the individual WAR files and place it in the parent EAR file, in the interest of avoiding redundancy and reducing file size. What's the best way to do this?
Thanks,
jeff

You can move them to a "library" container on the EAR level and specify the location in the orion-application.xml. Assuming you've created a "lib" directory to store libraries in, you would get something like:
  <library path="lib" />
  ...If it is redundancy you're trying to resolve, this is the way to go. Although, simply placing everything that is needed by either web or ejb module in a application wide library directory is something you might not want to do. Stick to WEB-INF/lib if libraries only are used by the web module.

Similar Messages

  • J2EE server ignores lib directory in EAR

    My EAR has such a structure:
    --lib
    --META-INF
    --my.war
    --mybeans.jar
    Beans, located in mybeans.jar can't be initialized because they don't see certain classes.
    These classes are located in jar archive inside lib directory of EAR (first in the list above).
    I use JBoss.
    May be some config must be made, I don't now.
    I've analyzed the structure of vlib application (Tapestry example), it was organized in the same manner, but works fine.
    What to do?

    As per the ear file structure (and specifically in JBoss)
    there is no lib directory expected.
    So do not put anything in the lib directory.
    If the lib contains .jar file, then do add them as java modules in the application.xml file(inside META-INF); I am sure you know how to add the war,jar module to application.xml.
    And if the library classes are general purpose, put them in %JBOSS_HOME%/lib directory; but this will make your library visible to all applications.
    Hope this helps.
    Thanks
    Ayusman

  • Locate resources within ear file

    Hi,
    I have a web app contained within an ear file. I am trying to locate resources from with in a class using getClass().getClassLoader().getResource() and getResourceAsStream() without any luck. From within a servlet, I am using a call to getServletContext().getRealPath() successfully.
    Anything other than a servlet is throwing a NullPointerException. I am trying to load images and an xml config file to generate images on dynamically. The files are all located within the web app.
    Any thoughts? Thanks in advance.

    You can move them to a "library" container on the EAR level and specify the location in the orion-application.xml. Assuming you've created a "lib" directory to store libraries in, you would get something like:
      <library path="lib" />
      ...If it is redundancy you're trying to resolve, this is the way to go. Although, simply placing everything that is needed by either web or ejb module in a application wide library directory is something you might not want to do. Stick to WEB-INF/lib if libraries only are used by the web module.

  • Class not found in web-inf/classes folder of war file within ear file

    Hi all,
              I am using Weblogic 8.1 sp4. I have a war file within an ear file. I am trying to deploy the war file with a few classes within its web-inf/classes folder, however when the classes are in that folder I consistently get a class not found exception when trying to instantiate them. If I package the classes in a jar file and then put that jar file within the web-inf/lib folder of the war, the classes are also not found.
              If I put these two classes in the app-inf/classes folder of the ear file, everything works as expected and the classes are found.
              Any ideas of why this is happening. This seems to be a very simple thing that should work, but appears to not be working at all.
              thanks in advance for any suggestions or ideas.

    Hi,
              This is a known limitation/issue with WL. There is also no way around this.
              Regards,
              LG

  • Programmatically specify file location within ear file

    Hi guys,
    I am deploying an ear file under weblogic 6.1 and in part of the code I need to parse an xml file however, I can't figure out how to specify the path to the file. Whatever I try I always get an exception telling me the file cannot be found. The file itself resides within WEB-INF in the applications jar file which itself resides within the ear.
    I don't know how to specify the files location.
    Please help!
    Simon.

    Hi Simon,
    I'm not sure if this will help - but I have had similar problems and am happy to share my experiences with you and hope they help you. (my test were done on JRun 3.0 - but am sure the behavior under weblogic is similar)
    I am not sure what method you are using for accessing your xml file and what the package structure of you apps is but I assume that you are either doing a
    <code>
    String fileName = "myFile.xml";
    File f = new File(fileName);
    or
    URL u = this.getClass().getResource(fileName);
    </code>
    I found problems with both these methods when deploying as a web app. The first method places the file in
    <code> {JRunPath}\servers\default </code>
    directory (which it should as the spec by default creates the file in the users default directory)
    and the second creates a URL that does not correctly map to the location (see my post http://forum.java.sun.com/thread.jsp?forum=136&thread=184500)
    neither of these is suitable for deploying a webapp. The only way to locate the resource seems to be to use either
    <code>
    fileName = ServletContext.getRealPath(fileName);
    or
    URL url = ServletContext.getResource(fileName);
    </code>
    This does leave open this issue on how to pass the servlet context down to the specific class within your application that loads the xml - the uglier option is to pass the servlet context object right down to the class that loads the resource - the other option is to use some kind of a static initializer to make the servletcontext object globally available
    hope this helps

  • Packaging - putting support files within ear file

    We have a J2EE application that leverages some xml control files. We would like to package the application with these support files all within the ear file. Currently, these files get moved seperate from the ear, which causes files to be missed sometimes during deployment. Our questions are as follows:
    1) Can these files be placed in the ear file?
    2) How do we reference them? Currently the application works by specifying the path to these files in the web.xml, what is the path we should use so that our application can find the files?

    "Brandon Witte" <[email protected]> skrev i en meddelelse
    news:[email protected]..
    We have a J2EE application that leverages some xml control files. Wewould like to package the application with these support files all within
    the ear file. Currently, these files get moved seperate from the ear, which
    causes files to be missed sometimes during deployment. Our questions are as
    follows:
    >
    1) Can these files be placed in the ear file?
    2) How do we reference them? Currently the application works byspecifying the path to these files in the web.xml, what is the path we
    should use so that our application can find the files?
    The simplest solution would be to put them in the WEB-INF/classes or
    APP-INF/classes directories and load them through the classloader.

  • How to change web-app display name within EAR file?

    Currently we are deploying an EAR file (which contains a web-app and an EJB) per
    BEA recommendations. The web-app shows up on the admin console with '/' as the
    name. Is there anyway to change this to the name I want?
    thx,
    Matt

    FYI - here is the entire content of applicaiton.xml in the EAR file we deploy:
    <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application
    1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
    <application>
    <display-name>RVApp</display-name>
    <module>
    <ejb>RVTrackingBean</ejb>
    </module>
    <module>
    <web>
    <web-uri>RVWebApp</web-uri>
    <context-root>/</context-root>
    </web>
    </module>
    </application>
    "Erik Johnson" <[email protected]> wrote:
    >
    No, you can't change that in the console. It's defined in the application's
    application.xml
    descriptor file.
    erik
    "Matt Savino" <[email protected]> wrote:
    Currently we are deploying an EAR file (which contains a web-app and
    an EJB) per
    BEA recommendations. The web-app shows up on the admin console with'/'
    as the
    name. Is there anyway to change this to the name I want?
    thx,
    Matt

  • Ear file deployment and jar libaries

    I am creating a simple ejb application that uses some jar libraries. The ejb app builds fine but when i try to deploy the application, it cannot find the dependent classes although i am including the jar libs in the ear file. I tried including the jars-libs in root as well as in app-inf/lib directory. I also made sure that i have the right jar-libs. What am i missing ?
    Here is what i see on the console when i try to deploy on Oracle App server:
    Nov 29, 2006 1:31:51 PM] Unpacking TestWithLib.ear
    [Nov 29, 2006 1:31:52 PM] Done unpacking TestWithLib.ear
    [Nov 29, 2006 1:31:52 PM] Initialize C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\TestWithLib.ear ends...
    [Nov 29, 2006 1:31:52 PM] Starting application : TestWithLib
    [Nov 29, 2006 1:31:52 PM] Initializing ClassLoader(s)
    [Nov 29, 2006 1:31:52 PM] Initializing EJB container
    [Nov 29, 2006 1:31:52 PM] Loading connector(s)
    [Nov 29, 2006 1:31:52 PM] Starting up resource adapters
    [Nov 29, 2006 1:31:52 PM] Processing EJB module: ejb1.jar
    [Nov 29, 2006 1:31:52 PM] Operation failed with error: com/xyz/ClassName

    One thing to try is in the JAR deployment profile for the EJB - stand on the File Groups node and click new to add a library group and make sure it includes the libraries/jar you added to your project.
    If this doesn't help then you might want to try and cross post this on the OC4J forum:
    OC4J

  • Classpath per EAR file

    System:
    - Sun Java System Application Server 7 2004Q2
    - OS: Windows 2000 Professional
    - JVM: 1.4.2_04
    Does the "library" directory, inside EAR file (at the EAR root) works as a classpath ?
    The Assembly Tool, has an option to add libraries to the EAR file, where this action, just creates a
    directory called "library", at the root of EAR file and put there the libraries (JAR files). Does this works as
    classpath when deployed to SunOne 7 2004Q2 ?
    I need this because my EAR app, has 2 webcontexts and 1 JAR module (around 12 EJBs)
    each one has common libraries, where I want to put inside the EAR file, and don't want replicated
    libraries along the modules (web and ejb).
    Do you have some suggestion ?
    Thanks in advance.
    - Claudio

    check the classloader hierarchy at the following url:
    http://docs.sun.com/source/817-2171-10/dgdeploy.html#wp58502

  • Static files within a ear file     - help me if you can I am feeling down

    I am using oc4j.
    I have some static files (templates and configuration files for the applications) in an ear file.
    These files are addressed via web.xml init param and I use relative path.
    This works in my "working directory".
    But when I deploy the ear file the servlet cannot access the file (io exception file test/templates/temp.txt not found).
    Has anybody an idea how I must address the files in the web.xml?
    How can I address the files from /test level?
    Or is somthing wrong with the structur of the directory?
    my "working dirctory"
    appname/
    META-INF/application.xml
    test/
    web-inf/web.xml
    /classes
    /lib
    templates/temp.txt
    init-param
    <param-value>appname/test/templates/temp.txt</param-value>
    init-param
    <param-value>/test/templates/temp.txt</param-value>
    thanks in advance
    peter

    If these files are only accessed from the web module, then put these files in a subdirectory of the "WEB-INF" directory of the war file.

  • I have a created a directory structure ias\ias-samples\myapps\src\docroot.In docroot folder i have a single jsp.i created a war file having that jsp,and ear file having the war file

    I deployed the ear file.Now i try calling http://localhost/myapps/test.jsp ??
    i'm i doing the right thing ?

    Hi,
    This is right provided you have installed the webserver & app server
    on the same machine and the port number for the web server is 80 by
    default.
    Regards
    Raj
    Arif Khan wrote:
    I have a created a directory structure
    ias\ias-samples\myapps\src\docroot.In docroot folder i have a single
    jsp.i created a war file having that jsp,and ear file having the war
    file
    I deployed the ear file.Now i try calling
    http://localhost/myapps/test.jsp ??
    i'm i doing the right thing ?
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • OAS 10.1.3 isn't detecting /WEB-INF/lib jar files within WAR file

    Hello,
    I have been developing and testing a simple non-EJB web application on Tomcat 5.5 with no class loading difficulties for the past several months. All of the needed JARs for my app are located under the WEB-INF/lib directory. My next task is to deploy the WAR file containing my webapp on the Oracle 10g (10.1.3) application server.
    The problem I am having when trying to do this is that when I deploy the WAR file from Oracle Enterprise Manager, the WAR file will expand correctly but at runtime OAS doesn't appear to be detecting the JAR files in the WEB-INF/lib folder of my WAR file. I have confirmed that the JAR files are indeed being expanded in the directory that OC4J expands the WAR file into:
    appserver/j2ee/home/applications/appEARFile/MyWebApp/WEB-INF/lib.
    But when I run the application, from the Firefox browser I immediately get the following 500 Internal Server Error:
    "Servlet error: Error instantiating servlet 'reports'. Servlet class org.springframework.web.servlet.DispatcherServlet not found in web-application MyWebApp"
    (The IE browser just gives me the 500 error without additional elaboration.)
    But my spring.jar where that class is located is in the WEB-INF/lib directory. Does anyone have an idea what the solution is--how can I get OC4J to read the spring.jar (or any jar) in that lib folder? (Or is there a way I can configure logging to better pinpoint the problem if that isn't it?)
    Thanks,
    Glen

    Glen,
    You said:
    IE browser just gives me the 500 error without
    additional elaborationTry unsetting the "Show friendly HTTP error
    messages".
    From the "Tools" menu of Microsoft Internet Explorer,
    choose "Internet Options".
    (You should then see another window entitled
    "Internet Properties" displayed.)
    Select the "Advanced" tab and search for "Show
    friendly HTTP error messages".
    Excellent--that worked. Thanks! I was afraid that I would have to be debugging on Firefox exclusively.
    I also suggest setting the
    "search-local-classes-first" attribute, of the
    "web-app-class-loader" element, in your
    "orion-web.xml" file to 'true' (if it isn't
    already).
    That did it. My orion-web.xml file was of the old DTD-based version, I believe that was causing the problem.
    The following document:
    Oracle® Containers for J2EE
    Developer’s Guide
    10g Release 3 (10.1.3)
    Part No. B14433-01
    has a chapter (3) entitled Utilizing the OC4J
    Class Loading Framework which contains a section
    entitled Troubleshooting Class Loading-Related
    Problems in OC4J.
    Thanks for the link, I went through it thoroughly in trying to fix my problem.
    Glen

  • 9iAS version 1 EAR file deployment and UNIX directory permissions

    We are running version 1.0.2.2 of OC4J, the deployment
    directory seems to need world read/write to enable the
    EAR file to deploy. The 9iAS admin user is part of the
    group that owns the EAR file (and respective deployment
    directory) but still cannot write to the
    directory when permissions are set with chmod 755.
    Thank you for any suggestions.

    One thing to try is in the JAR deployment profile for the EJB - stand on the File Groups node and click new to add a library group and make sure it includes the libraries/jar you added to your project.
    If this doesn't help then you might want to try and cross post this on the OC4J forum:
    OC4J

  • [svn] 1607: Set svn:mime-type and svn: eol-style on LICENSE and NOTICE files in the lib directory.

    Revision: 1607
    Author: [email protected]
    Date: 2008-05-07 17:02:39 -0700 (Wed, 07 May 2008)
    Log Message:
    Set svn:mime-type and svn:eol-style on LICENSE and NOTICE files in the lib directory.
    Modified Paths:
    flex/sdk/branches/3.0.x/lib/batik-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/commons-discovery-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/xalan-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/xerces-LICENSE.txt
    Property Changed:
    flex/sdk/branches/3.0.x/lib/batik-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/batik-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/commons-collections-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/commons-discovery-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/commons-logging-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/commons-logging-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/mm-velocity-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/mm-velocity-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/xalan-LICENSE.txt
    flex/sdk/branches/3.0.x/lib/xalan-NOTICE.txt
    flex/sdk/branches/3.0.x/lib/xerces-LICENSE.txt

    Thanks for your attention.
    In the above logs, higher resolutions seems to be detected on both screens, hence my surprise :
    [ 391.631] (II) intel(0): Printing probed modes for output LVDS1
    [ 391.631] (II) intel(0): Modeline "1600x900"x60.0 110.00 1600 1664 1706 2010 900 903 906 912 -hsync -vsync (54.7 kHz eP)
    [ 391.897] (II) intel(0): Printing probed modes for output HDMI1
    [ 391.897] (II) intel(0): Modeline "1680x1050"x59.9 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync (64.7 kHz eP)
    If it can help here is also my current xrandr output (after having called it manually to use the preferred resolution of each screen)
    itanguy ~ $ xrandr
    Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
    LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
    1600x900 60.0*+ 40.0
    1024x768 60.0
    800x600 60.3 56.2
    640x480 59.9
    VGA1 disconnected (normal left inverted right x axis y axis)
    HDMI1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 434mm x 270mm
    1680x1050 59.9*+
    1280x1024 75.0 60.0
    1152x864 75.0
    1024x768 75.1 60.0
    800x600 75.0 60.3
    640x480 75.0 60.0
    720x400 70.1
    DP1 disconnected (normal left inverted right x axis y axis)
    HDMI2 disconnected (normal left inverted right x axis y axis)
    HDMI3 disconnected (normal left inverted right x axis y axis)
    DP2 disconnected (normal left inverted right x axis y axis)
    DP3 disconnected (normal left inverted right x axis y axis)
    If needed, I may reboot and provide xrandr output after boot (it will be 1024x768), or could other logs help you ? Please ask...

  • How to deploy EAR file in Tomcat?

    Is we can deploy ear file in tomcat?
    Normally we can deploy WAR file in tomcat webapps folder. When we run the tomat it will automatically extract the war file.
    But samethink I have tried EAR file. But it is not working.
    Is we can deploy EAR file or not?
    If not plz give reason.

    Hi
    Normally we can deploy the war file thats routene stuff ofcourse ..........but when u deploy ear file it will give problmes as ear structure and war structure are differeant
    The Tomcat Servlet/JSP Container      
    The Apache Tomcat 5.5 Servlet/JSP Container
         Apache Logo
    Links
    * Docs Home
    Contents
    * Contents
    * Introduction
    * Installation
    * Deployment
    * Source Code
    * Processes
    * Example App
    Application Developer's Guide
    Deployment
         Printer Friendly Version
    print-friendly
    version
    Background
    Before describing how to organize your source code directories, it is useful to examine the runtime organization of a web application. Prior to the Servlet API Specification, version 2.2, there was little consistency between server platforms. However, servers that conform to the 2.2 (or later) specification are required to accept a Web Application Archive in a standard format, which is discussed further below.
    A web application is defined as a hierarchy of directories and files in a standard layout. Such a hierarchy can be accessed in its "unpacked" form, where each directory and file exists in the filesystem separately, or in a "packed" form known as a Web ARchive, or WAR file. The former format is more useful during development, while the latter is used when you distribute your application to be installed.
    The top-level directory of your web application hierarchy is also the document root of your application. Here, you will place the HTML files and JSP pages that comprise your application's user interface. When the system administrator deploys your application into a particular server, he or she assigns a context path to your application (a later section of this manual describes deployment on Tomcat). Thus, if the system administrator assigns your application to the context path /catalog, then a request URI referring to /catalog/index.html will retrieve the index.html file from your document root.
    Standard Directory Layout
    To facilitate creation of a Web Application Archive file in the required format, it is convenient to arrange the "executable" files of your web application (that is, the files that Tomcat actually uses when executing your app) in the same organization as required by the WAR format itself. To do this, you will end up with the following contents in your application's "document root" directory:
    * *.html, *.jsp, etc. - The HTML and JSP pages, along with other files that must be visible to the client browser (such as JavaScript, stylesheet files, and images) for your application. In larger applications you may choose to divide these files into a subdirectory hierarchy, but for smaller apps, it is generally much simpler to maintain only a single directory for these files.
    * /WEB-INF/web.xml - The Web Application Deployment Descriptor for your application. This is an XML file describing the servlets and other components that make up your application, along with any initialization parameters and container-managed security constraints that you want the server to enforce for you. This file is discussed in more detail in the following subsection.
    * /WEB-INF/classes/ - This directory contains any Java class files (and associated resources) required for your application, including both servlet and non-servlet classes, that are not combined into JAR files. If your classes are organized into Java packages, you must reflect this in the directory hierarchy under /WEB-INF/classes/. For example, a Java class named com.mycompany.mypackage.MyServlet would need to be stored in a file named /WEB-INF/classes/com/mycompany/mypackage/MyServlet.class.
    * /WEB-INF/lib/ - This directory contains JAR files that contain Java class files (and associated resources) required for your application, such as third party class libraries or JDBC drivers.
    When you install an application into Tomcat (or any other 2.2/2.3-compatible server), the classes in the WEB-INF/classes/ directory, as well as all classes in JAR files found in the WEB-INF/lib/ directory, are made visible to other classes within your particular web application. Thus, if you include all of the required library classes in one of these places (be sure to check licenses for redistribution rights for any third party libraries you utilize), you will simplify the installation of your web application -- no adjustment to the system class path (or installation of global library files in your server) will be necessary.
    Much of this information was extracted from Chapter 9 of the Servlet API Specification, version 2.3, which you should consult for more details.
    Shared Library Files
    Like most servlet containers, Tomcat 5 also supports mechanisms to install library JAR files (or unpacked classes) once, and make them visible to all installed web applications (without having to be included inside the web application itself. The details of how Tomcat locates and shares such classes are described in the Class Loader HOW-TO documentation. For the purposes of our discussion, there are two locations that are commonly used within a Tomcat 5 installation for shared code:
    * $CATALINA_HOME/common/lib - JAR files placed here are visible both to web applications and internal Tomcat code. This is a good place to put JDBC drivers that are required for both your application and internal Tomcat use (such as for a JDBCRealm).
    * $CATALINA_BASE/shared/lib - JAR files placed here are visible to all web applications, but not to internal Tomcat code. This is the right place for shared libraries that are specific to your application.
    Out of the box, a standard Tomcat 5 installation includes a variety of pre-installed shared library files, including:
    * The Servlet 2.4 and JSP 2.0 APIs that are fundamental to writing servlets and JavaServer Pages.
    * An XML Parser compliant with the JAXP (version 1.2) APIs, so your application can perform DOM-based or SAX-based processing of XML documents.
    Web Application Deployment Descriptor
    The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
    As mentioned above, the /WEB-INF/web.xml file contains the Web Application Deployment Descriptor for your application. As the filename extension implies, this file is an XML document, and defines everything about your application that a server needs to know (except the context path, which is assigned by the system administrator when the application is deployed).
    The complete syntax and semantics for the deployment descriptor is defined in Chapter 13 of the Servlet API Specification, version 2.3. Over time, it is expected that development tools will be provided that create and edit the deployment descriptor for you. In the meantime, to provide a starting point, a basic web.xml file is provided. This file includes comments that describe the purpose of each included element.
    NOTE - The Servlet Specification includes a Document Type Descriptor (DTD) for the web application deployment descriptor, and Tomcat 5 enforces the rules defined here when processing your application's /WEB-INF/web.xml file. In particular, you must enter your descriptor elements (such as <filter>, <servlet>, and <servlet-mapping> in the order defined by the DTD (see Section 13.3).
    Tomcat Context Descriptor
    The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
    A /META-INF/context.xml file can be used to define Tomcat specific configuration options, such as loggers, data sources, session manager configuration and more. This XML file must contain one Context element, which will be considered as if it was the child of the Host element corresponding to the Host to which the The Tomcat configuration documentation contains information on the Context element.
    Deployment With Tomcat 5
    In order to be executed, a web application must be deployed on a servlet container. This is true even during development. We will describe using Tomcat 5 to provide the execution environment. A web application can be deployed in Tomcat by one of the following approaches:
    * Copy unpacked directory hierarchy into a subdirectory in directory $CATALINA_HOME/webapps/. Tomcat will assign a context path to your application based on the subdirectory name you choose. We will use this technique in the build.xml file that we construct, because it is the quickest and easiest approach during development. Be sure to restart Tomcat after installing or updating your application.
    * Copy the web application archive file into directory $CATALINA_HOME/webapps/. When Tomcat is started, it will automatically expand the web application archive file into its unpacked form, and execute the application that way. This approach would typically be used to install an additional application, provided by a third party vendor or by your internal development staff, into an existing Tomcat installation. NOTE - If you use this approach, and wish to update your application later, you must both replace the web application archive file AND delete the expanded directory that Tomcat created, and then restart Tomcat, in order to reflect your changes.
    * Use the Tomcat 5 "Manager" web application to deploy and undeploy web applications. Tomcat 5 includes a web application, deployed by default on context path /manager, that allows you to deploy and undeploy applications on a running Tomcat server without restarting it. See the administrator documentation (TODO: hyperlink) for more information on using the Manager web application.
    * Use "Manager" Ant Tasks In Your Build Script. Tomcat 5 includes a set of custom task definitions for the Ant build tool that allow you to automate the execution of commands to the "Manager" web application. These tasks are used in the Tomcat deployer.
    * Use the Tomcat Deployer. Tomcat 5 includes a packaged tool bundling the Ant tasks, and can be used to automatically precompile JSPs which are part of the web application before deployment to the server.
    Deploying your app on other servlet containers will be specific to each container, but all containers compatible with the Servlet API Specification (version 2.2 or later) are required to accept a web application archive file. Note that other containers are NOT required to accept an unpacked directory structure (as Tomcat does), or to provide mechanisms for shared library files, but these features are commonly available.
    Copyright © 1999-2006, Apache Software Foundation

Maybe you are looking for