Giter Site home page Giter Site logo

eclipse-jetty / eclipse-jetty-plugin Goto Github PK

View Code? Open in Web Editor NEW
47.0 47.0 29.0 2.7 MB

Eclipse Jetty Plugin

Home Page: https://eclipse-jetty.github.io/

Java 99.93% Batchfile 0.06% HTML 0.01%
eclipse eclipse-jetty-plugin hacktoberfest jetty maintainer-wanted

eclipse-jetty-plugin's People

Contributors

ajacob avatar derkoe avatar elharo avatar froque avatar mpetris avatar steell0815 avatar thred avatar venushka avatar wallabeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eclipse-jetty-plugin's Issues

LoginService not instancied

Hello there, i'm configuring a login service in the WebAppContext as i do in my usual jetty setup

<Configure id="wac" class="org.eclipse.jetty.webapp.WebAppContext">
   <Call name="prependServerClass">
    <Arg>-org.eclipse.jetty.server.handler.ContextHandler</Arg>
  </Call>
  <Call name="prependServerClass">
    <Arg>-org.eclipse.jetty.servlet.FilterHolder</Arg>
  </Call>
  <Call name="prependServerClass">
    <Arg>-org.eclipse.jetty.servlet.ServletContextHandler</Arg>
  </Call>
  <Call name="prependServerClass">
    <Arg>-org.eclipse.jetty.servlet.ServletHolder</Arg>
  </Call>
    <New id="whatever" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg></Arg>
        <Arg>jdbc/whatever</Arg>
        <Arg>
                <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
                 <Set name="Url">jdbc:mysql://dbip:3306/dbname</Set>
                 <Set name="User">username</Set>
                 <Set name="Password">password</Set>
                </New>
        </Arg>
    </New>
    <Call name="addBean">
        <Arg> 
            <New class="org.eclipse.jetty.security.JDBCLoginService">
              <Set name="name">gateway_jndi</Set>
              <Set name="config">absolutepathtotherootofmyprojet\jdbcRealm.properties</Set>
            </New>
        </Arg>
    </Call>
</Configure>

and while it work perfectly on my "full" jetty here i get this error on start

No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@46c670a6 in org.eclipse.jetty.security.ConstraintSecurityHandler@59fc684e

i have activated JNDI support in the plugin run config.
the only difference is i'm using the jetty-9.3.10 jar in the plugin while my "full" is a 9.3.2 docker container.

Any clue?

bug with jetty 9.4.27

please change argument name addBefore to beforeClass to work proper with jetty 9.4.27

<!--Annotations-->
<Call class="org.eclipse.jetty.webapp.Configuration$ClassList" name="setServerDefault">
    <Arg><Ref refid="Server"/></Arg>
    <Call name="addBefore">
        <Arg name="beforeClass" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg>
        <Arg>
            <Array type="java.lang.String">
                <Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item>
            </Array>
        </Arg>
    </Call>
</Call>

Restart/redeploy jetty on project build on code changes

This is not a bug, but aren't we are in development mode where we changes code again and again.
It would rather easy for continues code changes to automatically restart/reload/redeploy web app.
It would be helpful if considered.

Thanks in advance

Support for Jetty >= 9.1

Jetty 9.1 changed the JAR names so that the plugin's patterns for JAR location search cannot find them anymore.

Change the patterns to also support Jetty 9.1.x and 9.2.x

Dependency resolving with both scopes "compile" and "test"

Hello,

I have a maven project which has the same dependency included twice : one with a "compile" scope, another with the "test" scope and a "test-jar" type.

In the "Dependencies" tab of the launcher, i can see both dependencies :

  • the one which has the "compile" scope in the pom.xml appears with a "test" scope and is therefore not added to the webapp classpath (Test scope checkbox not ticked)
  • the one which has the "test" scope in the pom.xml appears without scope, which is not normal as well

However if I import the dependency project in eclipse, things go OK in the launcher :

  • "classes" folder of the dependency has a "compile" scope
  • "test-classes" folder of the dependency has a "test" scope

When I close the project, things revert to previous situation.

Add JDBC Sessions

Hi,
I am new to Jetty.
Is there anyway I can add, enable JDBC Sessions for session persistence?
I tried to add jetty-jdbc-sessions.xml in custom web default xml, but seems no effect. Pls. advise. Thanks

Ken Wat

Capture

Latest version 5.0.0 cannot work with eclipse 2019-12 (4.14.0)

I saw #45. Not sure whether this plugin is still been maintained. @froque @derkoe

I tried the latest version of this plugin(5.0.0) with Eclipse 2019-12 (4.14.0) and the jetty server cannot start successfully with following error:

2020-01-08 18:11:03.082:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@77b52d12{/,file:///Users/xuevincent/Dev/Sources/neocore-dc2-groovy/target/max/,UNAVAILABLE}{/Users/xuevincent/Dev/Sources/neocore-dc2-groovy/target/max}
java.lang.NoClassDefFoundError: org/eclipse/jetty/plus/annotation/LifeCycleCallback
at org.eclipse.jetty.annotations.AnnotationDecorator.registerHandlers(AnnotationDecorator.java:41)
at org.eclipse.jetty.annotations.AnnotationDecorator.<init>(AnnotationDecorator.java:33)
at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:328)
at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:498)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1404)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:407)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at org.eclipse.jetty.server.Server.doStart(Server.java:371)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9Adapter.start(Jetty9Adapter.java:68)
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)
at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by:
java.lang.ClassNotFoundException: org.eclipse.jetty.plus.annotation.LifeCycleCallback

Versions:

Eclipse version: 2019-12 (4.14.0)  (Eclipse 2019-09 cannot work either )
Eclipse Build id: 20191212-1212
Eclipse Jetty Integration version: 5.0.0
Jetty version: 9.4.11.v20180605

Downgrade it to version 4.0.0 can be a workaround.
But version 5.0.0 is the only installation option in both Eclipse Marketplace and http://eclipse-jetty.github.io/update/. I have to uninstall version 5.0.0 and manually copy version 4.0.0 artifacts from other laptop to unblock it.

Don't support Jetty 9.4.47 Java 11 and Anotation

If you use an external Jetty 9.4, with Java 11 and activate Anotation you get this error

2022-04-03 18:11:09.847:INFO::main: Logging initialized @227ms to org.eclipse.jetty.util.log.StdErrLog
   Configuration: C:\Users\username\AppData\Local\Temp\eclipseJettyPlugin.config.WindexServer.xml
2022-04-03 18:11:09.983:WARN:oejx.XmlConfiguration:main: Config error at <Call name="addBefore"><Arg name="addBefore" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg><Arg><Array type="java.lang.String"><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item></Array></Arg></Call> java.lang.IllegalStateException: No Method: <Call name="addBefore"><Arg name="addBefore" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg><Arg><Array type="java.lang.String"><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item></Array></Arg></Call> on class org.eclipse.jetty.webapp.Configuration$ClassList in UNKNOWN-LOCATION
2022-04-03 18:11:09.983:WARN:oejx.XmlConfiguration:main: Config error at <Call class="org.eclipse.jetty.webapp.Configuration$ClassList" name="setServerDefault"><Arg><Ref refid="Server"/></Arg><Call name="addBefore"><Arg name="addBefore" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg><Arg><Array type="java.lang.String"><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item></Array></Arg></Call></Call> java.lang.IllegalStateException: No Method: <Call name="addBefore"><Arg name="addBefore" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg><Arg><Array type="java.lang.String"><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item></Array></Arg></Call> on class org.eclipse.jetty.webapp.Configuration$ClassList in UNKNOWN-LOCATION
Exception in thread "main" java.lang.IllegalStateException: No Method: <Call name="addBefore"><Arg name="addBefore" type="java.lang.String">org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Arg><Arg><Array type="java.lang.String"><Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item></Array></Arg></Call> on class org.eclipse.jetty.webapp.Configuration$ClassList
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:950)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:515)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:945)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:515)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:431)
	at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:364)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.configure(Jetty9LauncherMain.java:85)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.configure(AbstractJettyLauncherMain.java:144)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:75)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by: java.lang.NoSuchMethodException: addBefore
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:987)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:942)
	... 9 more

If I disable Annotation all are right ! but my code use annotation .....

External Jetty distribution does not work if 'lib' is in the path

Hello, since update to 3.8.0 I have following problem in either Eclipse Kepler or Luna:

Failed to resolve Jetty dependencies: [.*/servlet-api-.*\.jar, .*/jndi/.*\.jar, .*/annotations/.*\.jar]

For applications without JNDI it fails only on servlet-api-.*.jar

When it first appeared it helped to create fresh new run/debug configuration but it doesn't help anymore.

Jetty when launched from Eclipse when using "Use Jetty at Path" truncates the --classpath arg of the JVM causing issues.

When I run jetty from Eclipse using eclipse-jetty-plugin on eclipse latest mars jetty version from the 9.2.11 I am experiencing issue with classpath on the jvm that is created.

I am using the "Use jetty at path" option where i use my own jetty home location.

Here is my JVM's --classpath when I run the the jetty java executable from eclipse. It gets truncated due to big length:

/home/ndipiazza/Downloads/eclipse/configuration/org.eclipse.osgi/555/0/.cp/lib/eclipse-jetty-starters-common.jar:/home/ndipiazza/Downloads/eclipse/configuration/org.eclipse.osgi/555/0/.cp/lib/eclipse-jetty-starters-util.jar:/home/ndipiazza/Downloads/eclipse/configuration/org.eclipse.osgi/555/0/.cp/lib/eclipse-jetty-starters-console.jar:/home/ndipiazza/Downloads/eclipse/configuration/org.eclipse.osgi/555/0/.cp/lib/eclipse-jetty-starters-jetty9.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-http-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-proxy-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-alpn-server-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-plus-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-client-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-quickstart-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-webapp-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-server-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/javax.servlet.jsp.jstl-1.2.2.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/org.eclipse.jdt.core-3.8.2.v20130121.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/javax.servlet.jsp-api-2.3.1.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/javax.servlet.jsp-2.3.2.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/jetty-jsp-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/jetty-jsp-jdt-2.3.3.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/javax.el-3.0.0.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jsp/org.eclipse.jetty.orbit.javax.servlet.jsp.jstl-1.2.0.v201105211821.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/annotations/javax.annotation-api-1.2.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/annotations/asm-commons-5.0.1.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/annotations/asm-5.0.1.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-schemas-3.1.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-rewrite-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-jaspi-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-io-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-continuation-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-jndi-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-jaas-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/jetty-xml-9.2.11.v20150529.jar:/home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/lib/je

Notice the end of that how the string is getting too long for it to handle.

  1. I think the plugin should smart enough to grab jetty runner and use that instead of trying to make a huge classpath. i.e. -jar /home/ndipiazza/Downloads/jetty-distribution-9.2.11.v20150529/jetty-runner-9.2.11.v20150529.jar
  2. Even if 1) is something you are not willing to do... Then the classpath should not be getting truncated on Linux systems. Windows yeah, but not linux or mac.

i will make my installation names shorter for now to get passed this bug.

Update site is currently unavailable

Eclipse Jetty Plugin's update site is currently unavailable:

~ $ curl -i http://eclipse-jetty.github.io/update/
HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Length: 9339
Server: GitHub.com
Content-Type: text/html; charset=utf-8
permissions-policy: interest-cohort=()
Access-Control-Allow-Origin: *
ETag: "6317e2ab-247b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
x-proxy-cache: MISS
X-GitHub-Request-Id: 83A2:13B4B:45BCC:4746F:6368F5B3
Accept-Ranges: bytes
Date: Mon, 07 Nov 2022 12:10:27 GMT

update embedded Jetty to 9

With the default v8 I'm getting exceptions like oeja.AnnotationParser:EXCEPTION when using Java 8 language features (like lambdas).

Everything works fine with an external Jetty 9.3, it's just more difficult to setup in a team environment.

I can submit a PR, just let me know if that sounds OK.

jsp folder location changes in Jetty 9.4.x

Hi Eclipse Jetty plugin devs,

I have noticed that Jetty distribution 9.4.x has different location of jsp folder in lib folder (now it is called apache-jsp).

The problem is same as already closed issue #15 for Jetty 9.3.x.

Can you please add support for version 9.4.x as well?

Thank you,
Martin

Error on use jetty 9.3.0

I have updated to jetty-distribution-9.3.0.v20150612 and when I tried to run the jetty I got the message:

"Failed to resolve Jetty dependencies: [./lib/jsp/..jar]"

I have downgraded to the previous version of jetty (9.2.11).

Can you help me with that message?

Thanks

@update on 18/06. I analysed the code and I have noticed that line 38 of class net/sourceforge/eclipsejetty/jetty9/Jetty9LibStrategy.java might be the problem.

Separating inclusion and scope for Maven projects with workspace resolution

If you have Maven project that depends on other projects within the workspace (some in compile scope and others in test scope), the scope doesn't appear in the dependencies list:

image

It seems impossible to include those projects that are compile scope dependencies while disabling those that are test dependencies.

If you try to untick manually all the classes entries (for the other projects within the workspace) and then only tick the ones required, all the classes entries are then ticked,even though they had been unticked explicitly. (This only shows after re-opening the configuration dialog.)


I'm not familiar with this code, but it seems this could be due to some identifier collision (for all the projects enabled via workspace resolution).
A quick look at net.sourceforge.eclipsejetty.util.Dependency seems to indicate that some of the ID is based on the last directory name only:

genericId = runtimeClasspathEntry.getPath().toFile().getName();

Assuming this is how workspace dependencies are used, all these projects would typically be in a directory called ${project_loc}/target/classes, so getName() would return classes for all of them.

If this genericId is then assumed to be a unique identifier to tick what's included and excluded from the classpath, this could create a naming collision problem, and cause the inability to separate them.

Guice Exceptions (with line breaks) don't show up correctly in Console

When I start the jetty web appliaction and as soon as some Guice errors occur, they don't show a correct line break in the eclipse console. This means, the whole stack trace is put in one single line.

Something is special to Guice error message line breaks. On the other side, this problem does only occur if I run it with eclipse-jetty-plugin.

Instead of a line break, a <|<| token is shown. I guess this corresponds to CRLF somehow?

Example:
com.google.inject.ProvisionException: Unable to provision, see the following errors:**<|<|**1) Error injecting constructor, javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, ...

Maintainer needed

@thred and I are both not using this plugin anymore - therefore we are not working actively on the project anymore. On the other hand we'd love to see this plugin continue to help people using Jetty in Eclipse.

So, we would like to find futute maintainers for this project. Please comment on this issue if you'd like to help us with that.

Cannot set JNDI datasource, treats name of XML file as a Java class name

I'm trying to setup a JNDI datasource using the instructions at http://eclipse-jetty.github.io/jndi_howto.html

I created a file called jetty.xml in the root directory and added this xml:

<Configure id="wac" class="org.eclipse.jetty.webapp.WebAppContext">
  <New id="anzfx" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/anzfx</Arg>
    <Arg>
      <New class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
        <Set name="driverClass">com.mysql.jdbc.Driver</Set>
        <Set name="jdbcUrl">jdbc:mysql://localhost:3306/fx</Set>
        <Set name="user">root</Set>
        <Set name="password"></Set>
      </New>
    </Arg>
  </New>
</Configure>

I then added this file to the Jetty Context Configurations. But when I attempt to start jetty, I get this error:

Error: Could not find or load main class projects.ANZ-FXS.jetty.xml

Which makes absolutely no sense. It appears to be taking the path and file names and using them as package and class names for a Java class. Needless to say, this is not working.

Customize Keystone files

Can you add a function so that Keystone files can be manually specified? Like run-jetty-run, thanks

Problem when M2Eclipse is not installed

The plugin M2Eclipse is mandatory when using Eclipse Jetty Plugin.

Otherwise we get the following error when trying to open the Jetty Webapp view in Run configurations:

Problems occurred when invoking code from plug-in: "org.eclipse.jface".
java.lang.NoClassDefFoundError: org/eclipse/m2e/core/MavenPlugin
    at net.sourceforge.eclipsejetty.JettyPluginM2EUtils.getMavenProjectFacade(JettyPluginM2EUtils.java:67)
    at net.sourceforge.eclipsejetty.launch.util.JettyLaunchConfigurationAdapter.isScopeNoneExcluded(JettyLaunchConfigurationAdapter.java:1224)
    at net.sourceforge.eclipsejetty.launch.util.JettyLaunchConfigurationAdapter.initialize(JettyLaunchConfigurationAdapter.java:291)
    at net.sourceforge.eclipsejetty.launch.configuration.JettyLaunchConfigurationTab.setDefaults(JettyLaunchConfigurationTab.java:321)
    at org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.setDefaults(AbstractLaunchConfigurationTabGroup.java:77)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWrapper.setDefaults(LaunchConfigurationTabGroupWrapper.java:248)
    at org.eclipse.debug.internal.ui.launchConfigurations.CreateLaunchConfigurationAction.performAction(CreateLaunchConfigurationAction.java:80)
    at org.eclipse.debug.internal.ui.launchConfigurations.AbstractLaunchConfigurationAction$1.run(AbstractLaunchConfigurationAction.java:107)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.debug.internal.ui.launchConfigurations.AbstractLaunchConfigurationAction.run(AbstractLaunchConfigurationAction.java:110)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$1.run(LaunchConfigurationsDialog.java:542)
    at org.eclipse.debug.ui.AbstractDebugView.doubleClick(AbstractDebugView.java:765)
    at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:832)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:829)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1263)
    at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
    at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
    at org.eclipse.jface.window.Window.open(Window.java:803)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1154)
    at org.eclipse.debug.ui.DebugUITools$2.run(DebugUITools.java:619)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:627)
    at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:560)
    at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:82)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1488)

Problem seems to be around here: https://github.com/eclipse-jetty/eclipse-jetty-plugin/blob/master/plugins/eclipse-jetty-launcher/src/main/java/net/sourceforge/eclipsejetty/JettyPluginM2EUtils.java#L62

M2Eclipse availability should probably be checked before trying to load class MavenPlugin.

Changes in Jetty version

When you change the version in the jetty launch dialog the changes are not read for the next start of Jetty. You have to change other properties or restart Eclipse to make the changes work.

Not able to start a local server due to expired HTTPS certificate on https://eclipse.dev/jetty/configure_10_0.dtd

Hi everyone,

I was not able to start-up my local server due to an expired certificate, the reason is https://eclipse.dev/jetty/configure_10_0.dtd

Here is a stacktrace:

2023-10-16 09:58:55.402:INFO:oejs.Server:main: jetty-9.4.49.v20220914; built: 2022-09-14T01:07:36.601Z; git: 4231a3b2e4cb8548a412a789936d640a97b1aa0a; jvm 1.8.0_292-b10
2023-10-16 09:58:57.669:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@26f67b76{/,file:///Users/akaric/Projects/webdesk/git/master-hotfix/webdesk-webapp/target/runJettyRun-webapp/,STOPPED}{/Users/akaric/Projects/webdesk/git/master-hotfix/webdesk-webapp/target/runJettyRun-webapp}
javax.net.ssl.SSLHandshakeException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed
	at sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
	at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2739)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2651)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1830)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:265)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
	at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:244)
	at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:53)
	at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:213)
	at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:167)
	at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:48)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9Adapter.start(Jetty9Adapter.java:68)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by: 
sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed
	at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:386)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:279)
	at sun.security.validator.Validator.validate(Validator.java:271)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:223)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
	at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2739)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2651)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1830)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:265)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
	at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:244)
	at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:53)
	at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:213)
	at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:167)
	at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:48)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9Adapter.start(Jetty9Adapter.java:68)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by: 
java.security.cert.CertPathValidatorException: validity check failed
	at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:220)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
	at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
	at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
	at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:381)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:279)
	at sun.security.validator.Validator.validate(Validator.java:271)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:223)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
	at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2739)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2651)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1830)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:265)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
	at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:244)
	at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:53)
	at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:213)
	at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:167)
	at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:48)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9Adapter.start(Jetty9Adapter.java:68)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by: 
java.security.cert.CertificateExpiredException: NotAfter: Sun Oct 15 21:14:13 CEST 2023
	at sun.security.x509.CertificateValidity.valid(CertificateValidity.java:277)
	at sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:677)
	at sun.security.provider.certpath.BasicChecker.verifyValidity(BasicChecker.java:190)
	at sun.security.provider.certpath.BasicChecker.check(BasicChecker.java:144)
	at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:220)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
	at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
	at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
	at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:381)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:279)
	at sun.security.validator.Validator.validate(Validator.java:271)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:223)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
	at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
	at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2739)
	at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2651)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1830)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:265)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
	at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:244)
	at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:53)
	at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:213)
	at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:167)
	at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:48)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9Adapter.start(Jetty9Adapter.java:68)
	at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)
	at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)

Maven dependencies are not resolved with jdk11

When using JDK9+ as the project execution environment, maven dependencies are not added to the classpath of the Jetty Webapp plugin.

JDK 1.8 : The dependencies tab shows all maven dependencies of the project.
JDK 11 : The dependencies tab is empty (no matter which checkboxes are selected). In the classpath tab, maven dependencies is not visible.

Is there a known workaround for this issue?

Hot Deploy

How do I enable Hot Deploy using the plugin? Thanks.

Enable Websockets for < 9.3

Is there way I can enable websockets for jetty 7.6. I'm trying to debug a legacy program, running on 7.6 Any guidance where I can build and modify code would be helpful

Jetty can't scan the web-fragment.xml inside de target/classes/META-INF folder

The target/classes folder for web-fragment maven modules are added to classpath, however Jetty does not scan the web-fragment.xml files. I'm using Jetty-8.1.14, Java 1.7, Servlet API 3.0.

Project structure:

parent (pom project)
 |_ child1 (jar web-fragment dependency)
 |_ child2 (jar dependency)
 |_ child3 (war view project)

Log for console after start Jetty Plugin:

Classpath:
    /.../.m2/repository/.../abc.jar
    /.../.m2/repository/.../def.jar
    /.../.m2/repository/.../ghi.jar
    /.../.m2/repository/.../jkl.jar
    /.../child1/target/classes
    /.../child2/target/classes

I try to add this configuration, but no results.

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
        <Arg>.*/[^/]*\.jar$|.*/classes/.*</Arg>
    </Call>
    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg>.*/[^/]*\.jar$|.*/classes/.*</Arg>
    </Call>
</Configure>

java.net.MalformedURLException: unknown protocol: c

I installed the plugin 3.8.0 on eclipse jee luna(4.4), then start one of my web project with default configurations. and got this error:

Exception in thread "main" java.io.IOException: Failed to read C:\Users\xxx\AppData\Local\Temp\eclipseJettyPlugin.config.xxx.xml
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.determineClass(AbstractJettyLauncherMain.java:207)
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.configure(AbstractJettyLauncherMain.java:140)
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:76)
at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedLauncherMain.main(JettyEmbeddedLauncherMain.java:42)
Caused by: java.net.MalformedURLException: unknown protocol: c
at java.net.URL.(URL.java:592)
at java.net.URL.(URL.java:482)
at java.net.URL.(URL.java:431)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:610)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.determineClass(AbstractJettyLauncherMain.java:199)
... 3 more

plugin fails to start jetty when there's no internet connection

console output:

2015-05-18 01:29:15.973:INFO::main: Logging initialized @274ms
   Configuration: /tmp/eclipseJettyPlugin.config.myProject_jetty.xml
                  /var/home/morgwai/kotar/eclipse/myProjectWebApp/src/main/webapp/WEB-INF/jetty-web.xml
Exception in thread "main" java.io.IOException: Failed to read /var/home/morgwai/kotar/eclipse/myProjectWebApp/src/main/webapp/WEB-INF/jetty-web.xml
    at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.determineClass(AbstractJettyLauncherMain.java:207)
    at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.configure(AbstractJettyLauncherMain.java:140)
    at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:76)
    at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Caused by: java.net.UnknownHostException: www.eclipse.org
...

header of the mentioned xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
...

The problem is apparently caused by the fact that the plugin tries to verify xml config files with their schemas if declarations are present. This is a good thing in general, but in case the schema cannot be downloaded it should just display a warning instead of exiting fatally.
Even better solution would be to cache schemas somewhere on disk so they can be used when offline.
It would be even more better to use schema files cached by Eclipse.
For now I'm removing schema declarations from xml files when offline and it works ok then.

Hot deploy function not work well with mars.1

I found that when I use [Eclipse Mars.1], started jetty-server in debug mode(F11),everytime I changed some code and save(recompile) the java file,the server cannot auto deploy at all. Even if I type [r] key in console to force restart server,the new code still not effective at all.
But everything works(nearly the same workspace,the same project,same JDK or config...) well in [Eclipse Luna SR2].
The issue apears with 3.8 and 3.9,not try for earlier version.

WebApp without web.xml

Since the Servlet 3.0 specification, a web.xml is not needed anymore (it's enough to have a javax.servlet.ServletContainerInitializer that points to a WebApplicationInitializer class). That's a problem, because Eclipse Jetty Plugin searches for the web.xml file to detect web applications. This has to be changed at various locations:

  • JettyLaunchPossiblePropertiesTester
  • JettyLaunchShortcut
  • JettyLaunchConfigurationTab

(https://sourceforge.net/p/eclipse-jetty/feature-requests/15/)

The jetty-ee8-bom is missing the dependencies from the jetty.ee8.osgi group

The jetty-ee10 bom https://repo1.maven.org/maven2/org/eclipse/jetty/ee10/jetty-ee10-bom/12.0.3/jetty-ee10-bom-12.0.3.pom includes these 3 things in the jetty.ee10.osgi group

<dependency>
<groupId>org.eclipse.jetty.ee10.osgi</groupId>
<artifactId>jetty-ee10-osgi-alpn</artifactId>
<version>12.0.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.osgi</groupId>
<artifactId>jetty-ee10-osgi-boot</artifactId>
<version>12.0.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.osgi</groupId>
<artifactId>jetty-ee10-osgi-boot-jsp</artifactId>
<version>12.0.3</version>
</dependency>

The jetty-ee9 bom https://repo1.maven.org/maven2/org/eclipse/jetty/ee9/jetty-ee9-bom/12.0.3/jetty-ee9-bom-12.0.3.pom includes these 2 things in the jetty.ee9.osgi group:

<dependency>
<groupId>org.eclipse.jetty.ee9.osgi</groupId>
<artifactId>jetty-ee9-osgi-boot</artifactId>
<version>12.0.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee9.osgi</groupId>
<artifactId>jetty-ee9-osgi-boot-jsp</artifactId>
<version>12.0.3</version>
</dependency>

But the jetty-ee8 bom https://repo1.maven.org/maven2/org/eclipse/jetty/ee8/jetty-ee8-bom/12.0.3/jetty-ee8-bom-12.0.3.pom is missing the contents of the jetty.ee8.osgi group available here:

https://repo1.maven.org/maven2/org/eclipse/jetty/ee8/osgi/

I.e., the new bundles introduced by the following are missing from the bom:

eclipse-birt/birt#1447

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.