Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

JSTL fails in JPMS #9301

Closed
janbartel opened this issue Feb 2, 2023 · 1 comment · Fixed by #9321
Closed

JSTL fails in JPMS #9301

janbartel opened this issue Feb 2, 2023 · 1 comment · Fixed by #9321
Assignees
Labels
Bug For general bugs on Jetty side

Comments

@janbartel
Copy link
Contributor

jetty-12.0.x

Running with JSTL enabled in JPMS fails in jetty-12.

Problems are:

  • the ee10-glassfish-jstl.mod file does not depend on ee10-apache-jsp.mod which it should
  • the jetty-home/lib/ee10-glassfish-jstl dir contains the jakarta.el-api jars which export the same jsp/el api as the org.mortbay.jasper jars from jetty-home/lib/ee10-apache-jsp so there are duplicate classes on the classpath, (and in JPMS multiple modules export the same package which is a failure) and must be removed
  • the jakarta.servlet.jsp.jstl-api jar has a module-info that explicitly requires the jakarta.el-api jar (and others), so cannot be used with our org.mortbay.jasper jars leading to a JPMS failure

So we need to rework and rerelease the org.mortbay.jasper jars minus the jakarta.el-api and jakarta.servlet.jsp-api classes, and then update the ee10-apache-jsp.mod module to refer to those jars, and then fix jetty-ee10-osgi as necessary to refer to those jars.

Note that according to eclipse-ee4j/wasp#58, even when we correct jetty, JSTL still may not work in JPMS due to module naming conflicts with the glassfish jstl jar and the jakarta.servlet.jsp.jstl-api jars

Original problem report is here: jetty-project/jasper-jsp#143 and

@janbartel janbartel added Bug For general bugs on Jetty side Jetty 12 labels Feb 2, 2023
@janbartel janbartel self-assigned this Feb 2, 2023
@sbordet sbordet linked a pull request Feb 8, 2023 that will close this issue
janbartel added a commit that referenced this issue Feb 8, 2023
* Issue #9301 Fix dependencies for ee10-glassfish-jstl module

* Fix jstl,el,jsp to work in jpms and osgi.
@janbartel
Copy link
Contributor Author

Fixed via #9303 and #9321.

@github-project-automation github-project-automation bot moved this from To Do to ✅ Done in Jetty 12.0.0.beta0 - FROZEN Feb 8, 2023
gregpoulos pushed a commit to gregpoulos/jetty.project that referenced this issue Feb 9, 2023
…x-documentation-operations-logging

* upstream/jetty-12.0.x: (35 commits)
  Fixes jetty#9326 - Rename DecryptedEndPoint to SslEndPoint.
  Jetty 10 Upgrade to Hazelcast 5 and totally disable auto join multicast etc.. (fix build on CI) (jetty#9331)
  jetty#9328 - changes from review
  jetty#9287 - catch error in ee9 maxRequestSize MultiPart test
  Jetty 12.0.x 9301 fix ee10 jstl jpms (jetty#9321)
  Issue jetty#9301 Fix dependencies for ee10-glassfish-jstl module (jetty#9303)
  Jetty 12 Hazelcast 5.x and disable auto detection/multicast" (jetty#9332)
  jetty#9287 - fix further test failures
  Fixed imports.
  Issue jetty#7650 - Fix race condition when stopping QueuedThreadPool (jetty#9325)
  jetty#9287 - remove unpaired release of Content.Chunk
  Issue jetty#8991 - rename websocket isDemanding() method to isAutoDemanding()
  Issue jetty#9287 - fix failing tests
  changes f rom review
  add todo to revert to normal pool after fix for jetty#9311
  Issue jetty#9309 - Introducing test for requestlog format with spaces
  use non-pooling RetainableByteBufferPool to work around performance bug
  consumeAvailable should use number of reads instead of bytes
  fix for retainable merge
  changes from review
  ...
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Bug For general bugs on Jetty side
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant