Author: jgallimore
Date: Sat Oct 22 15:23:19 2011
New Revision: 1187723

URL: http://svn.apache.org/viewvc?rev=1187723&view=rev
Log:
Create an all-in-one jar that can be extracted from a .war and started. Maybe 
useful for doing something like 'java -jar myapp.war'

Added:
    
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
    
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/resources/META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin
Modified:
    openejb/trunk/openejb/assembly/tomee/tomee-embedded/pom.xml
    
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java

Modified: openejb/trunk/openejb/assembly/tomee/tomee-embedded/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/pom.xml?rev=1187723&r1=1187722&r2=1187723&view=diff
==============================================================================
--- openejb/trunk/openejb/assembly/tomee/tomee-embedded/pom.xml (original)
+++ openejb/trunk/openejb/assembly/tomee/tomee-embedded/pom.xml Sat Oct 22 
15:23:19 2011
@@ -36,6 +36,51 @@
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>rat-maven-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addClasspath>true</addClasspath>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <!-- <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptorRefs>
+            <descriptorRef>jar-with-dependencies</descriptorRef>
+          </descriptorRefs>
+        </configuration>
+        <executions>
+          <execution>
+            <id>jar-with-dependencies</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin> -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>1.4</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <shadedArtifactAttached>true</shadedArtifactAttached>
+              <shadedClassifierName>uber</shadedClassifierName>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
   <dependencies>

Modified: 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1187723&r1=1187722&r2=1187723&view=diff
==============================================================================
--- 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 (original)
+++ 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 Sat Oct 22 15:23:19 2011
@@ -308,6 +308,10 @@ public class Container {
 
         return dir;
     }
+    
+    public void await() {
+       tomcat.getServer().await();
+    }
 
     private static class TomcatWithFastSessionIDs extends Tomcat {
 

Added: 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java?rev=1187723&view=auto
==============================================================================
--- 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
 (added)
+++ 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
 Sat Oct 22 15:23:19 2011
@@ -0,0 +1,45 @@
+/**
+ * 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.
+ */
+package org.apache.tomee.embedded;
+
+import java.io.File;
+
+public class Main {
+
+       public static void main(String[] args) {
+               try {
+                       Container container = new Container();
+                       container.start();
+                       
+                       for (String filename : args) {
+                               File file = new File(filename);
+                               if (! file.exists()) {
+                                       
System.out.println(file.getAbsolutePath() + " does not exist, skipping");
+                                       continue;
+                               }
+                               
+                               String filenameWithoutExtension = 
file.getName().replaceAll("\\.[A-Za-z]+$", "");
+                               container.deploy(filenameWithoutExtension, 
file);
+                       }
+                       
+                       container.await();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+}

Added: 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/resources/META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/resources/META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin?rev=1187723&view=auto
==============================================================================
--- 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/resources/META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin
 (added)
+++ 
openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/resources/META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin
 Sat Oct 22 15:23:19 2011
@@ -0,0 +1,2 @@
+org.apache.webbeans.jsf.plugin.OpenWebBeansJsfPlugin
+org.apache.openejb.cdi.CdiPlugin


Reply via email to