On Wed, Feb 2, 2011 at 16:28, Eric Chiang <
eric@xxxxxxxxxx> wrote:
> Hi,
> In reading the documentation it appears this is supported in the latest
> releases of the jetty-maven-plugin
>
http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Using_Overlayed_WARs
> However, when running a third party war as the overlay (Openlaszlo
> Presentation Server), we face the following error:
> [INFO] [clean:clean {execution: default-clean}]
> [INFO] Deleting directory
> /Users/echiang/Projects/gliffy/src/release_merge/client/target
> [INFO] Preparing jetty:run
> [INFO] [resources:resources {execution: default-resources}]
> [WARNING] Using platform encoding (MacRoman actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory
> /Users/echiang/Projects/gliffy/src/release_merge/client/src/main/resources
> Downloading:
http://repo1.maven.org/maven2/org/openlaszlo/openlaszlo/4.8.1/openlaszlo-4.8.1.pom
> [INFO] Unable to find resource 'org.openlaszlo:openlaszlo:pom:4.8.1' in
> repository central (
http://repo1.maven.org/maven2)
> [INFO] [compiler:compile {execution: default-compile}]
> [INFO] No sources to compile
> [INFO] [resources:testResources {execution: default-testResources}]
> [WARNING] Using platform encoding (MacRoman actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory
> /Users/echiang/Projects/gliffy/src/release_merge/client/src/test/resources
> [INFO] [compiler:testCompile {execution: default-testCompile}]
> [INFO] No sources to compile
> [INFO] [jetty:run {execution: default-cli}]
> [INFO] Configuring Jetty for project: Gliffy Clients
> [INFO] webAppSourceDirectory
> /Users/echiang/Projects/gliffy/src/release_merge/client/src/main/webapp does
> not exist. Defaulting to
> /Users/echiang/Projects/gliffy/src/release_merge/client/src/main/webapp
> [INFO] Reload Mechanic: automatic
> [INFO] Classes directory
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/classes does
> not exist
> [INFO] Context path = /
> [INFO] Tmp directory =
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp
> [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
> [INFO] Web overrides = none
> [INFO] web.xml file =
> file:/Users/echiang/Projects/gliffy/src/release_merge/client/src/main/webapp/WEB-INF/web.xml
> [INFO] Webapp directory =
> /Users/echiang/Projects/gliffy/src/release_merge/client/src/main/webapp
> [INFO] Starting jetty 8.0.0.M2 ...
> 2011-02-02 03:40:27.052:INFO::jetty-8.0.0.M2
> 2011-02-02 03:40:35.540:INFO::Adding overlay:
> file:/Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/openlaszlo-4_8_1_war/
> 2011-02-02 03:40:35.541:INFO::Copying WEB-INF/lib
> file:/Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/openlaszlo-4_8_1_war/WEB-INF/lib/
> to
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf/WEB-INF/lib
> 2011-02-02 03:40:35.650:INFO::Copying WEB-INF/classes from
> file:/Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/openlaszlo-4_8_1_war/WEB-INF/classes/
> to
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf/WEB-INF/classes
> 2011-02-02 03:40:37.263:INFO::No Transaction manager found - if your webapp
> requires one, please configure one.
> 2011-02-02 03:40:42.673:INFO::Started
SelectChannelConnector@0.0.0.0:8090
> [INFO] Started Jetty Server
> 2011-02-02 03:40:45.835:INFO:/:LPS: LPS_HOME is
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf
> 2011-02-02 03:40:45.894:WARN::Error for /gliffy/online/main.lzx
> java.lang.ExceptionInInitializerError
> at org.openlaszlo.servlets.LZServlet.initLPS(LZServlet.java:108)
> at org.openlaszlo.servlets.LZServlet.doGet(LZServlet.java:341)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
> at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
> at org.eclipse.jetty.server.Server.handle(Server.java:353)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598)
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1059)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
> at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
> at java.lang.Thread.run(Thread.java:680)
> Caused by:
> org.openlaszlo.utils.ChainedException: java.io.FileNotFoundException:
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf/WEB-INF/lps/config/lps.properties
> (No such file or directory)
> at org.openlaszlo.server.LPS.loadProperties(LPS.java:512)
> at org.openlaszlo.server.LPS.getProperty(LPS.java:527)
> at org.openlaszlo.server.LPS.getLocale(LPS.java:553)
> at org.openlaszlo.i18n.LaszloMessages.<clinit>(LaszloMessages.java:28)
> at org.openlaszlo.servlets.LZServlet.initLPS(LZServlet.java:108)
> at org.openlaszlo.servlets.LZServlet.doGet(LZServlet.java:341)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
> at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
> at org.eclipse.jetty.server.Server.handle(Server.java:353)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598)
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1059)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
> at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
> at java.lang.Thread.run(Thread.java:680)
> Caused by:
> java.io.FileNotFoundException:
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf/WEB-INF/lps/config/lps.properties
> (No such file or directory)
> at java.io.FileInputStream.open(Native Method)
> at java.io.FileInputStream.<init>(FileInputStream.java:106)
> at org.openlaszlo.server.LPS.loadProperties(LPS.java:507)
> at org.openlaszlo.server.LPS.getProperty(LPS.java:527)
> at org.openlaszlo.server.LPS.getLocale(LPS.java:553)
> at org.openlaszlo.i18n.LaszloMessages.<clinit>(LaszloMessages.java:28)
> at org.openlaszlo.servlets.LZServlet.initLPS(LZServlet.java:108)
> at org.openlaszlo.servlets.LZServlet.doGet(LZServlet.java:341)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
> at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
> at org.eclipse.jetty.server.Server.handle(Server.java:353)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598)
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1059)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
> at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
> at java.lang.Thread.run(Thread.java:680)
> Here is a snippet of the pom:
> <properties>
> <lps.version>4.8.1</lps.version>
> </properties>
> <dependencies>
> <dependency>
> <groupId>org.openlaszlo</groupId>
> <artifactId>openlaszlo-servlet</artifactId>
> <version>${lps.version}</version>
> <type>war</type>
> <scope>runtime</scope>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>jetty-maven-plugin</artifactId>
> <configuration>
> <systemProperties>
> <systemProperty>
> <name>jetty.port</name>
> <value>8090</value>
> </systemProperty>
> </systemProperties>
> <webAppConfig>
> <contextPath>/</contextPath>
> <unpackOverlays>true</unpackOverlays>
> </webAppConfig>
> </configuration>
> </plugin>
> <plugin>
> <artifactId>maven-compiler-plugin</artifactId>
> <configuration>
> <source>1.6</source>
> <target>1.6</target>
> </configuration>
> </plugin>
> </plugins>
> </build>
>
> And here is the structure of the resulting target directory:
> target
> + tmp
> + - jsp
> + - openlaszlo-servlet-4_8_1_war
> + - webinf
> The opelaszlo war is fully extracted in the sub-directory
> 'openlaszlo-servlet-4_8_1_war' and the resource that is missing can be found
> in this extracted war.
> One thing to note is the classes in the war define the LPS_HOME variable to
> point to 'webinf' rather than the 'openlaszlo-servlet-4_8_1_war':
> 2011-02-02 03:40:45.835:INFO:/:LPS: LPS_HOME is
> /Users/echiang/Projects/gliffy/src/release_merge/client/target/tmp/webinf
> Looking at the code, it appears this path is derived by the call to:
> ServletContext.getRealPath()
> Any ideas on why this isn't working?
> Thanks,
> Eric
>