diff --git a/Jenkinsfile b/Jenkinsfile
index 853b3897e2..bb39cc8b13 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -41,7 +41,6 @@ def runTests(Map params = [:]) {
parallel(
'linux-21': runTests(platform: 'linux', jdk: 21),
- 'windows-17': runTests(platform: 'windows', jdk: 17),
- 'linux-11': runTests(platform: 'linux', jdk: 11)
+ 'windows-17': runTests(platform: 'windows', jdk: 17)
)
infra.maybePublishIncrementals()
diff --git a/pom.xml b/pom.xml
index 79a4bf2390..80903ae4b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,10 +44,9 @@
$
{
jenkinsci/${project.artifactId}
+ 12.0.11
3.8.1
-
- 11
3.13.1
1.9.21
false
@@ -55,6 +54,20 @@
+
+ org.eclipse.jetty
+ jetty-bom
+ ${jetty.version}
+ pom
+ import
+
+
+ org.eclipse.jetty.ee8
+ jetty-ee8-bom
+ ${jetty.version}
+ pom
+ import
+
org.ow2.asm
asm-bom
@@ -159,8 +172,12 @@
org.eclipse.jetty
- jetty-maven-plugin
- 10.0.22
+ jetty-server
+
+
+ org.eclipse.jetty.ee8
+ jetty-ee8-maven-plugin
+ ${jetty.version}
org.codehaus.plexus
@@ -168,6 +185,19 @@
+
+ org.eclipse.jetty.ee8
+ jetty-ee8-servlet
+
+
+ org.eclipse.jetty.ee8
+ jetty-ee8-webapp
+
+
+ org.eclipse.jetty.ee8.websocket
+ jetty-ee8-websocket-jetty-server
+
+
org.jenkins-ci
version-number
@@ -289,7 +319,7 @@
hpi
java-annotations
- org.eclipse.jetty:jetty-maven-plugin
+ org.eclipse.jetty.ee8:jetty-ee8-maven-plugin
diff --git a/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java b/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java
index 3e3ae92e76..dc7bd10819 100644
--- a/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java
+++ b/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java
@@ -80,19 +80,19 @@
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.util.filter.ScopeDependencyFilter;
+import org.eclipse.jetty.ee8.maven.plugin.JettyRunWarMojo;
+import org.eclipse.jetty.ee8.maven.plugin.MavenWebAppContext;
+import org.eclipse.jetty.ee8.webapp.WebAppClassLoader;
+import org.eclipse.jetty.ee8.webapp.WebAppContext;
+import org.eclipse.jetty.ee8.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.eclipse.jetty.http.HttpCompliance;
import org.eclipse.jetty.http.UriCompliance;
-import org.eclipse.jetty.maven.plugin.JettyRunWarMojo;
-import org.eclipse.jetty.maven.plugin.MavenServerConnector;
-import org.eclipse.jetty.maven.plugin.MavenWebAppContext;
+import org.eclipse.jetty.maven.MavenServerConnector;
import org.eclipse.jetty.security.HashLoginService;
import org.eclipse.jetty.security.UserStore;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.util.security.Password;
-import org.eclipse.jetty.webapp.WebAppClassLoader;
-import org.eclipse.jetty.webapp.WebAppContext;
-import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.twdata.maven.mojoexecutor.MojoExecutor;
import sun.misc.Unsafe;
@@ -286,7 +286,12 @@ public void execute() throws MojoExecutionException, MojoFailureException {
"Please use `webApp/contextPath` configuration parameter in place of the deprecated `contextPath` parameter");
if (webApp == null) {
try {
- webApp = new MavenWebAppContext();
+ webApp = new MavenWebAppContext() {
+ @Override
+ protected ClassLoader configureClassLoader(ClassLoader loader) {
+ return getWebAppClassLoader(this);
+ }
+ };
} catch (Exception e) {
throw new MojoExecutionException("Failed to initialize webApp configuration", e);
}
@@ -726,7 +731,9 @@ private void finishConfigurationBeforeStart() {
.getSessionCookieConfig()
.setName("JSESSIONID."
+ UUID.randomUUID().toString().replace("-", "").substring(0, 8));
+ }
+ private ClassLoader getWebAppClassLoader(WebAppContext wac) {
try {
// for Jenkins modules, swap the component from jenkins.war by target/classes
// via classloader magic
@@ -782,7 +789,7 @@ public void addJars(org.eclipse.jetty.util.resource.Resource lib) {
super.addJars(lib);
}
};
- wac.setClassLoader(wacl);
+ return wacl;
} catch (IOException e) {
throw new Error(e);
}
diff --git a/src/spotbugs/excludesFilter.xml b/src/spotbugs/excludesFilter.xml
index e85080f996..db6132c874 100644
--- a/src/spotbugs/excludesFilter.xml
+++ b/src/spotbugs/excludesFilter.xml
@@ -59,6 +59,7 @@
+