<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Apache TomEE</title>
	<meta name="description"
		  content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
	<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
	<meta name="author" content="Luka Cvetinovic for Codrops" />
	<link rel="icon" href="../favicon.ico">
	<link rel="icon"  type="image/png" href="../favicon.png">
	<meta name="msapplication-TileColor" content="#80287a">
	<meta name="theme-color" content="#80287a">
	<link rel="stylesheet" type="text/css" href="../css/normalize.css">
	<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
	<link rel="stylesheet" type="text/css" href="../css/owl.css">
	<link rel="stylesheet" type="text/css" href="../css/animate.css">
	<link rel="stylesheet" type="text/css" href="../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
	<link rel="stylesheet" type="text/css" href="../fonts/eleganticons/et-icons.css">
	<link rel="stylesheet" type="text/css" href="../css/jqtree.css">
	<link rel="stylesheet" type="text/css" href="../css/idea.css">
	<link rel="stylesheet" type="text/css" href="../css/cardio.css">

	<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="preloader">
		<img src="../img/loader.gif" alt="Preloader image">
	</div>
	    <nav class="navbar">
		<div class="container">
			<!-- Brand and toggle get grouped for better mobile display -->
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="/">
				    <span>

				    
                        <img src="../img/logo-active.png">
                    

                    </span>
				    Apache TomEE
                </a>
			</div>
			<!-- Collect the nav links, forms, and other content for toggling -->
			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
				<ul class="nav navbar-nav navbar-right main-nav">
					<li><a href="../docs.html">Documentation</a></li>
					<li><a href="../examples/index.html">Examples</a></li>
					<li><a href="../community/index.html">Community</a></li>
					<li><a href="../security/index.html">Security</a></li>
					<li><a href="../download-ng.html">Downloads</a></li>
				</ul>
			</div>
			<!-- /.navbar-collapse -->
		</div>
		<!-- /.container-fluid -->
	</nav>


    <div id="main-block" class="container section-padded">
        <div class="row title">
            <div class='page-header'>
              
              <div class='btn-toolbar pull-right' style="z-index: 2000;">
                <div class='btn-group'>
                    <a class="btn" href="../admin/file-layout.pdf"><i class="fa fa-file-pdf-o"></i> Download as PDF</a>
                </div>
              </div>
              
              <h2>Directory Structure</h2>
            </div>
        </div>
        <div class="row">
            
            <div class="col-md-12">
                <div id="filetree" class="paragraph col-md-4">
<p>[
    {
        label: 'apps',
        description: 'A common but optional folder containing the applications (war, ear, jar). Note: this folder needs to be activated in tomee.xml for instance and is not there by default.',
        children: [
            {label:'module1.jar',description:'An ejbmodule'},
            {label:'myapp',description:'An exploded war or ear'},
            {label:'anotherapp.war',description:'A war'},
            {label:'anotherapp',description:'By default TomEE will explode the war next to the .war file, this is customizable.'},
            {label:'anotherapp2.ear',description:'An ear'},
            {label:'anotherapp2',description:'By default TomEE will explode the ear next to the .ear file, this is customizable.'}
        ]
    },
    {
        label: 'bin',
        description: 'The executable and boot related files',
        children: [
            {label:'bootstrap.jar',description:'The jar allowing Tomcat to start'},
            {label:'catalina.bat',description:'The windows main Tomcat script'},
            {label:'catalina.bat.original',description:'The original catalina.bat from Tomcat. TomEE customizes it.'},
            {label:'catalina.sh',description:'The UNIx main Tomcat script'},
            {label:'catalina.sh.original',description:'The original catalina.sh from Tomcat. TomEE customizes it.'},
            {label:'catalina-tasks.xml',description:'Some Ant tasks Tomcat provides to work with JMX'},
            {label:'commons-daemon.jar',description:'When setting up TomEE as a service you need this jar.'},
            {label:'commons-daemon-native.tar.gz',description:'The native needed by commons-daemon'},
            {label:'configtest.bat',description:'A windows script to validate the server.xml'},
            {label:'configtest.sh',description:'A UNIx script to validate the server.xml'},
            {label:'daemon.sh',description:'A script which can be used as init.d script'},
            {label:'digest.bat',description:'A windows script to compute a digest'},
            {label:'digest.sh',description:'A UNIx script to compute a digest'},
            {label:'service.bat',description:'The windows service script'},
            {label:'service.install.as.admin.bat',description:'Install TomEE as a service on windows'},
            {label:'service.readme.txt',description:'The explanations on how to setup TomEE as a windows service'},
            {label:'service.remove.as.admin.bat',description:'Uninstall TomEE service on windows'},
            {label:'setclasspath.bat',description:'The script called by catalina.bat to initialize Tomcat classpath'},
            {label:'setclasspath.sh',description:'The script called by catalina.bat to initialize TomEE classpath'},
            {label:'setenv.sh',description:'A UNIx user script (optional) where you can specify some JVM options like CATALINA_OPTS environment variable'},
            {label:'setenv.bat',description:'A windows user script (optional) where you can specify some JVM options like CATALINA_OPTS environment variable'},
            {label:'shutdown.bat',description:'Stop the server on windows, it is commonly used with -force and a timeout as options'},
            {label:'shutdown.sh',description:'Stop the server on UNIx, it is commonly used with -force and a timeout as options'},
            {label:'startup.bat',description:'Start (and forget) TomEE on windows'},
            {label:'startup.sh',description:'Start (and forget) TomEE on UNIx'},
            {label:'tomcat-juli.jar',description:'The Tomcat Java Util Logging extensions which allow for instance to configure the logging per application'},
            {label:'tomcat-native.tar.gz',description:'The Tomcat native used by some connectors'},
            {label:'TomEE&#8230;&#8203;.exe',description:'TomEE windows executables when setup as a service for amd64 architectures'},
            {label:'tomee.bat',description:'TomEE utility script for windows, allows to compute ciphers for instance'},
            {label:'tomee.sh',description:'TomEE utility script for UNIx, allows to compute ciphers for instance'},
            {label:'tool-wrapper.bat',description:'Windows script calling Tomcat Tool utility. It executes a command line with Tomcat classloader.'},
            {label:'tool-wrapper.sh',description:'UNIx script calling Tomcat Tool utility. It executes a command line with Tomcat classloader.'},
            {label:'version.bat',description:'Print Tomcat version (for windows)'},
            {label:'version.sh',description:'Print Tomcat version (for UNIx)'}
        ]
    },
    {
        label: 'conf',
        description: 'Folder containing the configuration of TomEE',
        children: [
            {label:'Catalina',description:'A folder where Tomcat can copy web application configuration (typically context.xml can be overriden from there)'},
            {label:'catalina.policy',description:'The server security policy rules'},
            {label:'catalina.properties',description:'The server boot configuration (classloader etc&#8230;&#8203;)'},
            {label:'conf.d',description:'A TomEE folder where services can pick configuration'},
            {label:'context.xml',description:'The default context.xml configuration'},
            {label:'logging.properties',description:'The logging configuration for the server and applications (overridable)'},
            {label:'server.xml',description:'The server configuration (Host, Context, Valves, &#8230;&#8203;)'},
            {label:'server.xml.original',description:'The original server.xml, TomEE updates it to add its lifecycle manager.'},
            {label:'system.properties',description:'TomEE global configuration'},
            {label:'tomcat-users.xml',description:'The default location where tomcat stores users.'},
            {label:'tomcat-users.xml.original',description:'The Tomcat tomcat-users.xml (TomEE add comments)'},
            {label:'tomcat-users.xsd',description:'The XSD for tomcat-users.xml'},
            {label:'tomee.xml',description:'The TomEE configuration file, syntax is hybrid between XML and Properties and it is fully replaceable with system.properties but users generally prefer this file.'},
            {label:'web.xml',description:'The default web.xml'}
        ]
    },
    {
        label: 'lib',
        description: 'Folder containing TomEE binaries',
        children: [
            {label:'*.jar',description:'Tomcat + TomEE libraries'}
        ]
    },
    {
        label: 'logs',
        description: 'Default location of log files',
        children: [
            {label:'catalina.$day.log',description:'By default container logs go there'},
            {label:'xxx.2016-03-16.log',description:'By default application xxx logs go there (when using servlet API)'},
            {label:'localhost.$day.log',description:'By default host related logs go there'},
            {label:'localhost_access_log.$day.txt',description:'By default access logs (request the container processed) go there'}
        ]
    },
    {
        label: 'temp',
        description: 'Java temporary directory is redirected by default to this folder',
        children: [
            {label:'OpenEJB-dejlzdbhjzbfrzeofrh',description:'A temporary file TomEE can create (suffix depends the startup) to check the instance'}
        ]
    },
    {
        label: 'webapps',
        description: 'Folder containing the web applications',
        children: [
            {label:'myapp',description:'An exploded war'},
            {label:'anotherapp.war',description:'A war'},
            {label:'anotherapp',description:'By default TomEE will explode the war next to the .war file, this is customizable.'}
        ]
    },
    {
        label: 'work',
        description: 'Folder where Tomcat and TomEE can work',
        children: [
            {
                label:'Catalina',description:'By default Tomcat Engine is called Catalina. This folder matches engine name.',
                children: [
                    {
                        label:'localhost',description:'A folder by host by engine to seggregate data of each ones',
                        children: [
                            {
                                label:'myapp',description:'An application deployed on the previous level host',
                                children: [
                                    { label:'org.apache.jsp.index_jsp.java',description:'The generated JSP source (index.jsp there)' },
                                    { label:'org.apache.jsp.index_jsp.class',description:'The compiled JSP binary' }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]</p>
</div>
<div id="filetreedetail" class="paragraph col-md-8 bs-callout bs-callout-primary">
<p>Click on a tree node or open a folder to see the detail there.</p>
</div>
            </div>
            
        </div>
    </div>
<footer>
		<div class="container">
			<div class="row">
				<div class="col-sm-6 text-center-mobile">
					<h3 class="white">Apache TomEE the little great server.</h3>
					<h5 class="light regular light-white">"A good application in a good server"</h5>
					<ul class="social-footer">
						<li><a href="https://fr-fr.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
						<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
						<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
					</ul>
				</div>
				<div class="col-sm-6 text-center-mobile">
					<div class="row opening-hours">
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../documentation.html" class="white">Documentation</a></h5>
							<ul class="list-unstyled">
								<li><a href="../admin/configuration/index.html" class="regular light-white">How to configure</a></li>
								<li><a href="../admin/directory-structure.html" class="regular light-white">Dir. Structure</a></li>
								<li><a href="../developer/testing/index.html" class="regular light-white">Testing</a></li>
								<li><a href="../admin/cluster/index.html" class="regular light-white">Clustering</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../examples.html" class="white">Examples</a></h5>
							<ul class="list-unstyled">
								<li><a href="../examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
								<li><a href="../examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
								<li><a href="../examples/ejb-examples.html" class="regular light-white">EJB</a></li>
								<li><a href="../examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../community/index.html" class="white">Community</a></h5>
							<ul class="list-unstyled">
								<li><a href="../community/contributors.html" class="regular light-white">Contributors</a></li>
								<li><a href="../community/social.html" class="regular light-white">Social</a></li>
								<li><a href="../community/sources.html" class="regular light-white">Sources</a></li>
							</ul>
						</div>
						<div class="col-sm-3 text-center-mobile">
							<h5><a href="../security/index.html" class="white">Security</a></h5>
							<ul class="list-unstyled">
								<li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
								<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
								<li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
							</ul>
						</div>
					</div>
				</div>
			</div>
			<div class="row bottom-footer text-center-mobile">
				<div class="col-sm-12 light-white">
					<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>
				</div>
			</div>
		</div>
	</footer>
	<!-- Holder for mobile navigation -->
	<div class="mobile-nav">
        <ul>
          <li><a hef="../admin/index.html">Administrators</a>
          <li><a hef="../developer/index.html">Developers</a>
          <li><a hef="../advanced/index.html">Advanced</a>
          <li><a hef="../community/index.html">Community</a>
        </ul>
		<a href="#" class="close-link"><i class="arrow_up"></i></a>
	</div>
	<!-- Scripts -->
	<script src="../js/jquery-1.11.1.min.js"></script>
	<script src="../js/owl.carousel.min.js"></script>
	<script src="../js/bootstrap.min.js"></script>
	<script src="../js/wow.min.js"></script>
	<script src="../js/typewriter.js"></script>
	<script src="../js/jquery.onepagenav.js"></script>
	<script src="../js/tree.jquery.js"></script>
	<script src="../js/highlight.pack.js"></script>
    <script src="../js/main.js"></script>
		</body>

</html>

