Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] tag libraries in container

Benjamin,

You need to put whatever jars you want to use that are external to the webapp explicitly onto the classpath for your embedded runtime - we look at the classloader parent of the webapp to find container jars for name matching and thus annotation scanning etc.

 Also probably best to double escape the "." in ".jar" in a java string so its "\\.jar"

Jan



On 11 May 2016 at 09:25, Benjamin Jaton <benjamin.jaton@xxxxxxxxx> wrote:
Did I mention that I was using an embedded Jetty? I am not using start.jar, and I don't have a real "jetty.home" for Jetty.

I did set manually jetty.base though:
        System.setProperty("jetty.home", "/path/to/folder/");
        System.setProperty("jetty.base", "/path/to/folder/");

Those libs are also used by other applications, so I'd rather not have them in a folder that is specific to jetty.
Can I specify container libs without / outside a jetty base?



On Tue, May 10, 2016 at 4:14 PM, Joakim Erdfelt <joakim@xxxxxxxxxxx> wrote:
The technique you want ...

First: setup a proper ${jetty.base}
Second: don't ever modify/change/edit/delete/rename any content in ${jetty.home}
Third: keep the directories separate, not nested within each other.

If you want arbitrary libs to exist in the server classpath, enable the "ext" module for your ${jetty.base} and put them in your ${jetty.base}/lib/ext/ directory.

Test if you have the server classpath setup correctly by ...

$ cd /path/to/my/jettybase
$ java -jar /path/to/my/jettyhome/start.jar --list-config



Joakim Erdfelt / joakim@xxxxxxxxxxx

On Tue, May 10, 2016 at 3:34 PM, Benjamin Jaton <benjamin.jaton@xxxxxxxxx> wrote:
Hello,

I have an existing embedded jetty and I would like to have the jstl-1.2.jar shared instead of having it inside each war.

So I am setting the jetty.home property to /path/to/folder/
and I put the jar in /path/to/folder/lib/web/jstl-1.2.jar

Then I set this:

webAppContext.setAttribute("org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",
                ".*/jstl-1.2.jar$");

https://www.eclipse.org/jetty/documentation/9.2.7.v20150116/configuring-webapps.html

However I still get this error in my logs:

org.apache.jasper.JasperException: /WEB-INF/jsp/login.jsp (line: 1, column: 1) The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

I tried to use ".*/.*/jstl-1.2.jar" and the full path of the jar without success.
I tried to switch to DEBUG but I couldn't see anything about scanning the jars (just the o.e.j.a.AnnotationParser ones)

Any idea?

Thanks,
Ben

_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users



--
Jan Bartel <janb@xxxxxxxxxxx>
www.webtide.com
Expert assistance from the creators of Jetty and CometD


Back to the top