Hi, I just tried configuring a WebAppContext and make it serve the contents of a jar file with Jetty 11 and it worked just fine.
Could you please create a reproducer we can try out? This way it should be rather quick to figure out what's wrong to help you out. Cheers, --- Ludovic Orban <[email protected]> http://webtide.com - advice and support for jetty and cometd. On Tue, Sep 6, 2022 at 11:30 AM Stefan Viljoen via jetty-users < [email protected]> wrote: > Hi guys > > > > Ok I’ve refined this down. See my original question below. > > > > The problem there is that if I do this to set up a Jetty WebAppContext: > > > > -- > > . > > . > > . > > String webDir = > this.getClass().getClassLoader().getResource("static").toExternalForm(); > > > > WebAppContext waContext = new WebAppContext(webDir, "/"); > > . > > . > > . > > -- > > > > I get for “webDir” > > > > -- > > jar:file:/usr/src/verdi/verdi-12-JDK17-jar-with-dependencies.jar!/static > > -- > > > > which is CORRECT - there IS a folder “static” in the root of the JAR > Jetty is embedded in and running out of, and that “static” folder > contains the .html, .js, etc. files I need Jetty to serve as a static > website at x.x.x.x:80 to web-browser, using an instance of the Jetty > WebAppContext class. > > > > However, it appears Jetty’s WebAppContext class -CANNOT- parse jar:file > references to web app -files-. > > > > If I have a “webDir” of file:/// (e.g. just plain files outside the JAR) > it works perfectly, and the Jetty WebAppContext class can serve out the > site and does so perfectly to web-browsers visiting the server IP over HTTP. > > > > How can one get Jetty’s WebAppContext class (for Jetty 11.0.11) to parse > file:jar references so one can serve static HTML out of an embedded Jetty > 11.0.11 instance from the same physical JAR file Jetty 11.0.11 is embedded > in and running out of? > > (This was working in Jetty 9, I recently upgraded and the WebAppContext > class seems to have lost the capacity to parse file:jar references?) > > > > Thanks! > > > > [image: Description: signature] > > > > CONFIDENTIALITY NOTICE AND DISCLAIMER: This e-mail transmission contains > confidential Information which is the property of the sender and which is > subject to legal privilege and/or copyright and intended only for the > above-mentioned addressee. If you are not the intended recipient, you are > hereby notified that any unauthorized use, disclosure, copying or > distribution of the content of the e-mail transmission or the taking of any > action in reliance thereon or pursuant thereto, is strictly prohibited and > may be unlawful and may lead to prosecution. Should you have received this > e-mail in error, please immediately notify us. The views, policies and > comments contained in this e-mail are those of the sender thereof and > should not be construed as the views, policies and/or comments of the > organization. We cannot assure that the integrity of this e-mail > communication has been maintained nor that it is free of errors, > interference or interception and will not accept any liability or > responsibility in this regard. By opening our emails, you indemnify us of > any liability. > > > > *From:* Stefan Viljoen > *Sent:* Monday, September 5, 2022 10:53 AM > *To:* [email protected] > *Subject:* Jetty-11.0.11 embedded - 404 for all static html files or > .jsp's in JAR under Linux JDK 17 > > > > Hi guys > > > > Desperately looking for some help or pointers – been at this issue for two > weeks solid now: > > > > I have a Maven-based embedded Jetty-11.0.11 project in an “uber JAR” > (jar-with-all-dependencies) in JDK17 that I inherited from a dev that left > the company. > > > > I got it from him at Jetty-9 under JDK1.8, and have successfully upgraded > it to Jetty-11.0.11 under JDK17 (at least, it works, but only -inside- > Netbeans14…!) by changing the maven pom.xml to refer to newer versions of > apache-jsp, apache-jstl, and jetty itself (for Maven.) > > > > I have no web.xml or WEB-INF folder at all in the project. > > > > The static content (.html, .css and .js files) for the webpages it > contains, are hosted in the project .JAR at src\main\webapp\static > > > > After upgrading to Jetty-11.0.11 and JDK17, I could run the project in > Netbeans 14 debug mode in Windows 10 and visit the “Netbeans 14”-ed Jetty > instance in a browser which rendered the static .html and .jsp content > correctly. > > > > If I copy the Jetty-11.0.11-using JAR to a Linux host and run it under > JDK17 there, NONE of the static .html and .jsp content inside the JAR can > be found anymore. When running in JDK17 under Linux in the embedded JAR, > Jetty responds: > > -- > > *HTTP ERROR 404 Not Found* > > *URI:* > > / > > *STATUS:* > > 404 > > *MESSAGE:* > > Not Found > > *SERVLET:* > > org.eclipse.jetty.servlet.ServletHandler$Default404Servlet-726a17c4 > > -- > > > > for any and all .html and .jsp files inside the JAR. > > > > Where can I start to look to get Jetty-11.0-11 embedded in an uber-JAR to > render .html and .jsp files inside the JAR when run in a Linux-based JDK 17 > instance? > > > > No exceptions or any errors is emitted by Jetty. > > > > I run Jetty in Ubuntu 20.04-LTS with official Oracle JDK17 as > > > > /usr/lib/jvm/jdk-17/bin/java > -Djavax.net.ssl.trustStore=/usr/lib/jvm/jdk-17/lib/security/cacerts -cp > /usr/src/verdi/verdi-12-JDK17-jar-with-dependencies.jar verishare.App > > > > Anybody got ANY idea why Jetty-11.0.11 only works inside Netbeans 14 debug > mode in Windows under Oracle JDK 17, but not in a Linux-based Oracle JDK 17 > (where it WAS working in Linux with JDK 1.8 and Jetty-9)? > > > > Where do I even start? > > > > More than willing to provide more info such as the POM and the server > setup code if anybody wants to help… > > > > Thanks! > > > > Kind regards, > > > > Stefan > > > > [image: Description: signature] > > > > CONFIDENTIALITY NOTICE AND DISCLAIMER: This e-mail transmission contains > confidential Information which is the property of the sender and which is > subject to legal privilege and/or copyright and intended only for the > above-mentioned addressee. If you are not the intended recipient, you are > hereby notified that any unauthorized use, disclosure, copying or > distribution of the content of the e-mail transmission or the taking of any > action in reliance thereon or pursuant thereto, is strictly prohibited and > may be unlawful and may lead to prosecution. Should you have received this > e-mail in error, please immediately notify us. The views, policies and > comments contained in this e-mail are those of the sender thereof and > should not be construed as the views, policies and/or comments of the > organization. We cannot assure that the integrity of this e-mail > communication has been maintained nor that it is free of errors, > interference or interception and will not accept any liability or > responsibility in this regard. By opening our emails, you indemnify us of > any liability. > > > _______________________________________________ > jetty-users mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
