Modified: tomee/site/trunk/content/ng/advanced/index.pdf URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/ng/advanced/index.pdf?rev=1748530&r1=1748529&r2=1748530&view=diff ============================================================================== --- tomee/site/trunk/content/ng/advanced/index.pdf (original) +++ tomee/site/trunk/content/ng/advanced/index.pdf Wed Jun 15 09:10:21 2016 @@ -4,8 +4,8 @@ << /Title (Advanced) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20160615095038+02'00') -/ModDate (D:20160615095038+02'00') +/CreationDate (D:20160615095748+02'00') +/ModDate (D:20160615095748+02'00') >> endobj 2 0 obj
Modified: tomee/site/trunk/content/ng/advanced/shading/index.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/ng/advanced/shading/index.html?rev=1748530&r1=1748529&r2=1748530&view=diff ============================================================================== --- tomee/site/trunk/content/ng/advanced/shading/index.html (original) +++ tomee/site/trunk/content/ng/advanced/shading/index.html Wed Jun 15 09:10:21 2016 @@ -92,13 +92,16 @@ </div> </div> - <h2>TomEE and Fat jars</h2> + <h2>TomEE Shading</h2> </div> </div> <div class="row"> <div class="col-md-12"> - <div class="paragraph"> + <div class="sect1"> +<h2 id="_fat_jars">Fat Jars</h2> +<div class="sectionbody"> +<div class="paragraph"> <p>Shading the container and the application has some challenges like merging correctly resources (<code>META-INF/services/</code> typically).</p> </div> <div class="paragraph"> @@ -180,6 +183,100 @@ which can be skipped in this operation s </tr> </table> </div> +<div class="paragraph"> +<p>Then just build the jar:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-bash" data-lang="bash">mvn clean package</code></pre> +</div> +</div> +<div class="paragraph"> +<p>And you can run it:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-bash" data-lang="bash">java -jar myapp-1.0-SNAPSHOT.jar</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_fat_wars">Fat Wars</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Fat Wars are executable wars. Note they can be fancy for demos but they have the drawback to put the server in web resources +at packaging time (to ensure the war is actually an executable jar) so adding a filter preventing these files to be read +can be needed if you don’t already use a web technology doing it (a servlet bound to /*).</p> +</div> +<div class="paragraph"> +<p>Here how to do a fat war:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><properties> + <!-- can be uber (for all), jaxrs, jaxws for lighter ones --> + <tomee.flavor>uber</tomee.flavor> +</properties> + +<dependencies> + <!-- ...your dependencies as usual... --> + <dependency> + <groupId>org.apache.tomee</groupId> + <artifactId>tomee-embedded</artifactId> + <classifier>${tomee.flavor}</classifier> + <version>7.0.0</version> + <scope>provided</scope> + </dependency> +</dependencies> + +<build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <version>2.6</version> + <configuration> + <failOnMissingWebXml>false</failOnMissingWebXml> + <archive> + <manifest> + <mainClass>org.apache.tomee.embedded.Main</mainClass> + </manifest> + </archive> + <dependentWarExcludes /> + <overlays> + <overlay> + <groupId>org.apache.tomee</groupId> + <artifactId>tomee-embedded</artifactId> + <classifier>${tomee.flavor}</classifier> + <type>jar</type> + <excludes /> + </overlay> + </overlays> + </configuration> + </plugin> + </plugins> +</build></code></pre> +</div> +</div> +<div class="paragraph"> +<p>Then just build the war:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-bash" data-lang="bash">mvn clean package</code></pre> +</div> +</div> +<div class="paragraph"> +<p>And you can run it:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-bash" data-lang="bash">java -jar myapp-1.0-SNAPSHOT.war</code></pre> +</div> +</div> +</div> +</div> </div> </div>