Skip to content

Conversation

@dsmiley
Copy link
Contributor

@dsmiley dsmiley commented Nov 7, 2025

I was seeing unexpected JARs in lib/ext like for jakarta-servlet! IMO, lib/ext should have exactly what we declare in server/build.gradle (plus obvious transitives) for libExt config; nothing more. Basically, just logging libs. Meanwhile, lib (its parent) should have jetty + jakarta-servlet. Exactly what the build.gradle lists for serverLib, plus transitives. WEB-INF/lib gets the rest. Nothing surprising.

@HoustonPutman
Copy link
Contributor

I don’t understand, why? Right now lib/ext is also acting as the place where libraries that are used by the server and the app. This way we dont duplicate our dependency jars. It all works, why change it?

@dsmiley
Copy link
Contributor Author

dsmiley commented Nov 7, 2025

I'm trying to rationalize the scope/purpose of lib/ext relative to lib. What does "ext" mean?

@HoustonPutman
Copy link
Contributor

https://jetty.org/docs/jetty/12.1/operations-guide/modules/standard.html#ext

Ao its supposed to be used for libraries that extend the usage of the Server, so logging, and other jars that the server might need that aren't jetty.

The problem that came up is that we were duplicating a lot of jars, and that didn't really make sense. So placing them in lib/ext kind of fixed that. We can start duplicating these jars in our release again, and let lib/ext have less stuff in it. But I'm not sure what that really buys us. (We would also want to keep the metrics stuff in there)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants