blob: 2775c4aa5cabc3e41263117e5b2b5506368d5f22 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Deploy Tool</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>Deploy Tool
<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><a name="DeployTool-NAME"></a></p>
<h1>NAME</h1>
<p>openejb deploy - OpenEJB Deploy Tool</p>
<p><a name="DeployTool-SYNOPSIS"></a></p>
<h1>SYNOPSIS</h1>
<blockquote>
<p>openejb deploy <a href="#DeployTool-OPTIONS">options</a> &lt;file&gt; [&lt;file&gt; ...]</p>
</blockquote>
<p><a name="DeployTool-NOTE"></a></p>
<h1>NOTE</h1>
<p>The OpenEJB Deploy tool is an OPTIONAL tool that allows you to deploy into
a running server and get feedback as if the app was deployed and how it was
deployed (deploymentIds, jndi names, etc.).</p>
<p>It can be used to deploy into an offline server, however in this scenario
it simply copies the archive into the deployment directory (by default <code>openejb.base/apps</code>) which is
something that can be done manually with a simple copy command or drag and
drop.</p>
<p>The OpenEJB Deploy tool can be executed from any directory as long as
<code>openejb.home/bin</code> is in the system PATH. <code>openejb.home</code> is the directory
where OpenEJB was installed or unpacked. For for the remainder of this
document we will assume you unpacked OpenEJB into the directory
<code>C:\openejb-3.0</code> under Windows.</p>
<p>In Windows, the deploy tool can be executed as follows:</p>
<blockquote>
<p>C:\openejb-3.0> bin\openejb deploy --help</p>
</blockquote>
<p>In UNIX, Linux, or Mac OS X, the deploy tool can be executed as follows:</p>
<blockquote>
<p>user@host# bin/openejb deploy --help</p>
</blockquote>
<p>Depending on your OpenEJB version, you may need to change execution bits to
make the scripts executable. You can do this with the following command.</p>
<blockquote>
<p>user@host# chmod +x bin/openejb</p>
</blockquote>
<p>From here on out, it will be assumed that you know how to execute the right
openejb script for your operating system and commands will appear in
shorthand as show below.</p>
<blockquote>
<p>openejb deploy --help</p>
</blockquote>
<p><a name="DeployTool-DESCRIPTION"></a></p>
<h1>DESCRIPTION</h1>
<p>The files passed to the Deploy Tool can be any combination of the
following:</p>
<ul>
<li>EJB 1.1, 2.0, 2.1, 3.0 or 3.1 jar</li>
<li>application client jar </li>
<li>EAR file containing only libraries, EJBs and application clients --
everything else will be ignored.</li>
</ul>
<p>The type of the files passed is determined as follows:</p>
<ul>
<li>Archives ending in <code>.ear</code> or containing a <code>META-INF/application.xml</code> are
assumed to be EAR files.</li>
<li>Archives containing a <code>META-INF/ejb-jar.xml</code> file or any classes annotated
with <code>@Stateless</code>, <code>@Stateful</code> or <code>@MessageDriven</code>, are assumed to be <em>EJB</em>
applications. EJB applications older that EJB 3.0 should contain a
complete <code>META-INF/ejb-jar.xml</code> inside the jar, however we do not strictly
enforce that -- the act of it being incomplete makes it an EJB 3.0
application by nature.</li>
<li>Archives containing a <code>META-INF/application-client.xml</code> or with a
<code>META-INF/MANIFEST.MF</code> containing the <code>Main-Class</code> attribute, are assumed to
be <em>Application Client</em> archives.</li>
</ul>
<p><a name="DeployTool-OPTIONS"></a></p>
<h1>OPTIONS</h1>
<table>
<tr>
<td>-d, --debug </td>
<td>Increases the level of detail on validation errors and
deployment summary.</td>
</tr>
<tr><td>--dir </td>
<td>Sets the destination directory where the app will be deployed.
The default is <OPENEJB_HOME>/apps/ directory. Note when changing this
setting make sure the directory is listed in the openejb.xml via a
<Deployments dir=""/> tag or the app will not be picked up again on
restart.
</tr>
<tr><td>-conf file </td>
<td>Sets the OpenEJB configuration to the specified file.</td></tr>
<tr><td>-h, --help </td>
<td>Lists these options and exit.</td></tr>
<tr><td>-o, --offline</td>
<td>Deploys the app to an offline server by copying the
archive into the server's apps/ directory. The app will be deployed when
the server is started. The default is online.</td></tr>
<tr><td>-q, --quiet </td>
<td> Decreases the level of detail on validation and skips the
deployment summary.</td></tr>
<tr><td>-s, --server-url &lt;url&gt; </td>
<td> Sets the url of the OpenEJB server to which
the app will be deployed. The value should be the same as the JNDI
Provider URL used to lookup EJBs. The default is 'ejbd://localhost:4201'.
</td></tr>
<tr><td>-v, --version</td>
<td> Prints the OpenEJB version and exits. </td></tr>
</table>
<p><a name="DeployTool-EXAMPLES"></a></p>
<h1>EXAMPLES</h1>
<p><a name="DeployTool-Deployingmultiplejarfiles"></a></p>
<h2>Deploying multiple jar files</h2>
<blockquote>
<p>openejb deploy myapp\fooEjbs.jar myapp\barEjbs.jar</p>
</blockquote>
<p>Deploys the beans in the fooEjbs.jar first, then deploys the beans in the
barEjbs.jar. Wildcards can be used as well.</p>
<blockquote>
<p>openejb deploy myapp*.jar</p>
</blockquote>
<p><a name="DeployTool-OUTPUT"></a></p>
<h1>OUTPUT</h1>
<p>On running the deploy tool with a valid EJB jar the following output is
printed on the console</p>
<pre><code>Application deployed successfully at {0}
App(id=C:\samples\Calculator-new\hello-addservice.jar)
EjbJar(id=hello-addservice.jar, path=C:\samples\Calculator-new\hello-addservice.jar)
Ejb(ejb-name=HelloBean, id=HelloBean)
Jndi(name=HelloBean)
Jndi(name=HelloBeanLocal)
Ejb(ejb-name=AddServiceBean, id=AddServiceBean)
Jndi(name=AddServiceBean)
Jndi(name=AddServiceBeanLocal)
</code></pre>
<p>Note: In the above case the command used is:</p>
<blockquote>
<p>openejb deploy hello-addservice.jar</p>
</blockquote>
<p>The JAR file contains two EJBs: AddServiceBean and HelloBean.</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>