Author: echatellier Date: 2013-08-16 17:48:11 +0200 (Fri, 16 Aug 2013) New Revision: 2919 Url: http://chorem.org/projects/jtimer/repository/revisions/2919 Log: Add embedded jetty server Added: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/ branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/JettyRunner.java Modified: branches/ng-jtimer/jtimer-server/pom.xml branches/ng-jtimer/pom.xml Modified: branches/ng-jtimer/jtimer-server/pom.xml =================================================================== --- branches/ng-jtimer/jtimer-server/pom.xml 2013-08-16 15:43:41 UTC (rev 2918) +++ branches/ng-jtimer/jtimer-server/pom.xml 2013-08-16 15:48:11 UTC (rev 2919) @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -27,20 +28,26 @@ <version>2.2.4</version> </dependency> <dependency> - <groupId>org.restlet.jee</groupId> - <artifactId>org.restlet</artifactId> - <version>2.1.2</version> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet</artifactId> + <version>2.1.2</version> </dependency> <dependency> - <groupId>org.restlet.jee</groupId> - <artifactId>org.restlet.ext.servlet</artifactId> - <version>2.1.2</version> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet.ext.servlet</artifactId> + <version>2.1.2</version> </dependency> <dependency> - <groupId>org.restlet.jee</groupId> - <artifactId>org.restlet.ext.jackson</artifactId> - <version>2.1.2</version> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet.ext.jackson</artifactId> + <version>2.1.2</version> </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-runner</artifactId> + <version>9.0.4.v20130625</version> + <scope>provided</scope> + </dependency> </dependencies> <build> @@ -66,26 +73,61 @@ <configuration> <targetGroups>jtimer</targetGroups> <contextFolder>${basedir}/src/main/webapp/web/</contextFolder> -<!-- hack during devel, otherwize tomcat don't find generated file (perhaps it's not the good place ?) - <cssDestinationFolder>${basedir}/target/${projectId}-${project.version}/css</cssDestinationFolder> - <jsDestinationFolder>${basedir}/target/${projectId}-${project.version}/js</jsDestinationFolder> - --> + <!-- hack during devel, otherwize tomcat don't find generated file + (perhaps it's not the good place ?) <cssDestinationFolder>${basedir}/target/${projectId}-${project.version}/css</cssDestinationFolder> + <jsDestinationFolder>${basedir}/target/${projectId}-${project.version}/js</jsDestinationFolder> --> <cssDestinationFolder>${basedir}/src/main/webapp/css</cssDestinationFolder> <jsDestinationFolder>${basedir}/src/main/webapp/js</jsDestinationFolder> - <!-- end devel hack--> + <!-- end devel hack --> <wroManagerFactory>org.nuiton.js.wro.NuitonJsMavenWroManagerFactory</wroManagerFactory> <wroFile>${basedir}/src/main/config/wro.xml</wroFile> <extraConfigFile>${basedir}/src/main/config/wro.properties</extraConfigFile> </configuration> </plugin> + <plugin> + <artifactId>maven-war-plugin</artifactId> + <executions> + <execution> + <id>generate-runnable-war</id> + <goals> + <goal>war</goal> + </goals> + <configuration> + <warName>${project.build.finalName}-standalone</warName> + <archive> + <manifest> + <mainClass>org.chorem.jtimer.war.JettyRunner</mainClass> + </manifest> + </archive> + <webResources> + <resource> + <directory>${project.build.directory}/classes</directory> + <targetPath>WEB-INF/..</targetPath> + <includes> + <include>**/war/*</include> + </includes> + <filtering>false</filtering> + </resource> + </webResources> + <overlays> + <overlay> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-runner</artifactId> + <type>jar</type> + </overlay> + </overlays> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> - + <repositories> - <repository> - <id>maven-restlet</id> - <name>Public online Restlet repository</name> - <url>http://maven.restlet.org</url> + <repository> + <id>maven-restlet</id> + <name>Public online Restlet repository</name> + <url>http://maven.restlet.org</url> </repository> </repositories> </project> Added: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/JettyRunner.java =================================================================== --- branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/JettyRunner.java (rev 0) +++ branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/JettyRunner.java 2013-08-16 15:48:11 UTC (rev 2919) @@ -0,0 +1,53 @@ +package org.chorem.jtimer.war; + +import java.io.File; +import java.io.IOException; +import java.net.JarURLConnection; +import java.net.URL; + +import org.eclipse.jetty.runner.Runner; + +/** + * Jetty runner to produce bootable war. + * + * Warning, to class must be java only. + * + * @author Eric Chatellier + */ +public class JettyRunner extends Runner { + + public static void main(String[] args) { + Runner runner = new Runner(); + + try { + if (args.length > 0 && args[0].equalsIgnoreCase("--help")) { + runner.usage(null); + } else if (args.length > 0 && args[0].equalsIgnoreCase("--version")) { + runner.version(); + } else { + + String me = getMe(); + System.out.println("Adding me to args array : " + me); + + // add 'me' at end of args array + String[] args2 = new String[args.length + 1]; + System.arraycopy(args, 0, args2, 0, args.length); + args2[args2.length - 1] = me; + + // continue to jetty launcher + runner.configure(args2); + runner.run(); + } + } catch (Exception e) { + e.printStackTrace(); + runner.usage(null); + } + } + + protected static String getMe() throws IOException { + String fqnLauncherFile = JettyRunner.class.getName().replaceAll("\\.", "/") + ".class"; + URL classFile = JettyRunner.class.getClassLoader().getResource(fqnLauncherFile); + File me = new File(((JarURLConnection) classFile.openConnection()).getJarFile().getName()); + return me.getAbsolutePath(); + } +} Property changes on: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/war/JettyRunner.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: branches/ng-jtimer/pom.xml =================================================================== --- branches/ng-jtimer/pom.xml 2013-08-16 15:43:41 UTC (rev 2918) +++ branches/ng-jtimer/pom.xml 2013-08-16 15:48:11 UTC (rev 2919) @@ -48,17 +48,17 @@ <dependency> <groupId>org.nuiton.js</groupId> <artifactId>nuiton-js-wro</artifactId> - <version>1.0.1-SNAPSHOT</version> + <version>1.0.1</version> </dependency> <dependency> <groupId>org.nuiton.js</groupId> <artifactId>nuiton-js-angular</artifactId> - <version>1.1.5-1-SNAPSHOT</version> + <version>1.1.5-1</version> </dependency> <dependency> <groupId>org.nuiton.js</groupId> <artifactId>nuiton-js-jquery</artifactId> - <version>2.0.2-1</version> + <version>2.0.3-1</version> </dependency> <dependency> <groupId>org.nuiton.js</groupId> @@ -68,14 +68,14 @@ <dependency> <groupId>org.nuiton.js</groupId> <artifactId>nuiton-js-moment</artifactId> - <version>2.0.0-1</version> + <version>2.1.0-1-SNAPSHOT</version> </dependency> - <dependency> - <groupId>org.nuiton.js</groupId> - <artifactId>nuiton-js-font-awesome</artifactId> - <version>3.2.1-1-SNAPSHOT</version> - </dependency> <dependency> + <groupId>org.nuiton.js</groupId> + <artifactId>nuiton-js-font-awesome</artifactId> + <version>3.2.1-1-SNAPSHOT</version> + </dependency> + <dependency> <groupId>ro.isdc.wro4j</groupId> <artifactId>wro4j-extensions</artifactId> <version>1.7.0</version> @@ -94,40 +94,16 @@ <dependencyManagement> <dependencies> <dependency> - <groupId>org.jboss.resteasy</groupId> - <artifactId>tjws</artifactId> - <version>1.104</version> - </dependency> - <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.3.172</version> </dependency> <dependency> - <groupId>com.nativelibs4java</groupId> - <artifactId>bridj</artifactId> - <classifier>c-only</classifier> - <version>0.6.2</version> - <exclusions> - <exclusion> - <artifactId>dx</artifactId> - <groupId>com.google.android.tools</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_3.0_spec</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> - <dependency> - <groupId>com.oracle</groupId> - <artifactId>javafx</artifactId> - <version>2.2.3</version> - <scope>system</scope> - <systemPath>${java.home}/lib/jfxrt.jar</systemPath> - </dependency> </dependencies> </dependencyManagement>
participants (1)
-
echatellier@users.chorem.org