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
_______________________________________________
jetty-users mailing list
jetty-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to