-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Deprecate jetty-runner now, present warnings when using it on Java 9+ Runtimes #1905
Comments
For now, perhaps a safety check in jetty-runner that detects the JVM version and System.exit(1) with a message indicating that it's incompatible with Java 9. |
For now, I've had to exclude module-info.class from the dependencies in the jetty-runner jar. |
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
…e-jetty-runner Issue #1905 - Deprecate jetty-runner
Merged. Closed. |
Can we revisit this deprecation? Multi-Release jars should not prevent the creation of an "uber-jar", as we can just add all the versions and the JRE will select the correct version. I know there may be some features that will never work well with the runner approach, but I still see some value in a single jar that can run a simple jetty setup. |
Is it really necessary to have a single "uber-jar"? |
@cor3000 what you just described is what |
@cor3000 you also described |
I guess my scenario is much simpler,I don't really need complex configuration for simple example/test/debug projects, e.g. when debugging issues between different versions. This also allow IDE-plugin independent debugging using the bleeding edge version without having to wait for plugin providers. I also liked the simple command line parameters Runner.java class provides (btw mostly compatible to webapp-runner which I use in parallel to compare results/behavior between popular containers) Those allowed a simple IDE runnable config:
accordingly for webapp-runner (tomcat)
similarly when sharing a runnable example project with a customer just ask them to unzip and execute a command (and everything downloads/starts automagically)
the gradle.build just needs a simple execute task:
Should I post a separate Feature Request to preserve the Runner.java class, with required transitive dependencies. Because it's really useful. Maybe I just missed something in the documentation how to get similar convenient results. |
Here's an example with jetty-home artifact ... https://github.com/jetty-project/jetty-websocket-example Command line to execute the built project is ...
All of the magic is in your start.ini |
I tried the example and for my general usage it doesn't make things simpler: I guess I'll just have to switch to the various specific plugins (maven/gretty/run-jetty-run/eclipse/intellij) once jetty-runner is removed eventually. Or try to fork/preserve the jetty-runner for my specific purposes. I'd be happy to discuss the advantages (IMO) in a separate channel/chat to avoid distracting from the original topic. Thanks for the responsiveness! Much appreciated. |
This issue has been automatically marked as stale because it has been a full year without activit. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been closed due to it having no activity. |
I am using jetty-runner, with legacy war/webapp folders, and I find it very useful. |
@lviggiano have you tried jetty-home? |
jetty-home... never noticed that one. What does it do? Or where can I read about it? |
@cor3000 Jetty-Home is just the Jetty distribution sans any of the example webapps and documentation. |
thanks for adding a link... still this doesn't restore the simplicity of the jetty-runner Runner class. I still need to tell a customer to download, unzip a package, while this could be happening perfectly via maven dependencies. Is there any chance to preserve this class? Even if the jetty-runner.jar is removed? My alternatives are webapp-runner (using tomcat), or Spring boot which again offers this kind of development experience, however at the cost of slower startup time (tomcat) or added complexity (spring boot). In any case thanks for a great product/tool and being responsive to comments. |
I have reopened #4562 which removed the runner. I think we should be looking at using jlink to create a Runner executable rather that deleting this functionality. |
I like the jlink approach, it would also allow us to prove our JPMS layers in yet another way. Another approach is to enhance jetty-start to support a single jetty-home jar that could satisfy jetty-runner and jetty-all use cases as well. |
I'll respond in #4562 |
What a pity such a powerful web server is unable to "just" start programmatically for local development support and other cases ... governing all that code and have limitations is hard |
The jetty-runner jar is an uber-jar, containing pretty much all the classes that are necessary to run jetty on a webapp.
Once java-9 multi-release jars proliferate, we can't know which classes to include in the jar. There may be some support eventually from the shade plugin, but they are waiting for the spec to support multi-module executable jars: https://issues.apache.org/jira/browse/MSHADE-234
The text was updated successfully, but these errors were encountered: