-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JDK 9 compatibility issues #3
Comments
Might want to also pay attention to our trials and tribulations with bytecode scanning ... jetty/jetty.project#1692 - 'module-info.class' exclusions |
@cemo is there a bug on the apache side where they are tracking these changes? |
Just recording some info here:
|
@joakime the issue was about Spring Boot. The discussion was over there. Here is the relavant issue. |
@janbartel I am using Spring Boot and it is actually an emdedded server. I am starting project in the IntelliJ. |
For completeness, yes I can confirm that jetty will have a similar problem finding jars to look into for tlds, web-fragment.xml and META-INF/resources when it is running embedded with java 9. For that we will probably be making some fixes to org.eclipse.jetty.webapp.MetaInfConfiguration, stay tuned. |
@janbartel Any news on this? :) |
Nothing yet. I'll update this issue when there is something to report. |
Issue jetty/jetty.project#1933 should fix any problems with embedded jetty running in java 9. This fix is scheduled for release in jetty-9.4.8. I'll close this issue. |
@janbartel I gave another try today but seems still having issues. I am using Spring Boot and still having issues unfortunately.
|
@janbartel I built the project with latest tomcat (8.5.24), I can confirm that it is working with it. Can you please cut a release with latest tomcat? |
@cemo, it should not require any changes to tomcat to make this work for jetty. Please can you enable debug logging for org.eclipse.jetty.annotations and post the log? It is jetty that should be finding and resolving the jstl jars , not tomcat. |
@janbartel I have no log regarding that package. I am using Spring Boot 1.5.x branch. |
@cemo you have You also have slf4j-api (line 110) which jetty will use to output logging events too. It appears you've configured slf4j-api to capture java.util.logging (line 57), and capture log4j (line 58), and capture jakarta commons-logging (line 111). You'll need to configure logback to have |
@joakime I am not sure that any codes in this package is called. I can put a breakpoint and check it if you refer a place which is definitely called. |
I had checked your commits and noticed changes in |
If jetty bytecode scanning (which includes annotation scanning) isn't occurring, that could explain a few things. |
@cemo can you put a breakpoint in |
sorry @joakime and @janbartel I need to clarify a thing. If I upgrade this repo, it still not working. However If I add a piece of code like this:
It is starting to work. Sorry for creating confusion. But in any case that package is never called. |
Hi @joakime and @janbartel, I felt little responsibility on this issue. I prepared a sample based on this topic. Here is the relevant project with a test case which is causing an exception under jdk9 but not jdk8. Please note that on my original question I was using a different setup. I was using jar packaging and modifying base directory to use custom directories. But in this sample, everything is copied from Spring Boot Project. It is pretty much a vanilla project. Please let me know for further tests and helps. Million thanks so far you have done for the community. |
@joakime is there anything I can provide? |
@cemo support is kinda spotty this time of year (holidays / vacations / etc). |
The configuration I provided was related to my setup which is not causing exception when I upgrade this project with the latest tomcat dependency but causing exception with current latest dependency of jetty. I have provided a sample application which I can reproduce issue. It can causing exception under jdk9 but not under jdk8. Here is the related project to reproduce exception: https://github.com/cemo/bug-jetty-jsp |
A reproduction case is definitely useful. Thanks for that. |
@cemo thanks for the repro test case. The issue is that springboot is not using any of the standard jetty Configuration classes, including those like AnnotationConfiguration and MetaInfConfiguration which crack open jars to find tag libs, as well as other stuff in META-INF (like META-INF/resources, or META-INF/web-fragment.xml). Because it is not using jetty's classes, which take account of jdk9 classpath issues, it falls back to using the standard apache jasper JasperInitializer, which obviously isn't capable of using the jdk9 classpath in version 8.5.23. I'll start the process to upgrade jetty to use apache jasper 8.5.24, but in the meanwhile you'll have to try and use those upgraded jars explicitly in your pom. I would much rather that the springboot guys had used jetty code to do the initialization - particularly as they are explicitly calling jetty's JettyJasperInitializer class, but unfortunately they haven't called any of the other jetty classes that would have fed it with the info it needs, hence it falls back to the apache jasper JasperInitializer instead. |
@janbartel Thanks for the clarification. I will be testing when you release it. I had already tested with the latest snapshot and was working properly. |
It seems apache jsp has some issues to support JDK9. Here is the relevant commit. I wanted to open an issue at here as well to track issue at here.
The text was updated successfully, but these errors were encountered: