From 03748461c9a62b5dc1b1c8bdc3a6e77eddd1467e Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Dec 2025 10:56:04 +0000
Subject: [PATCH 1/3] Initial plan
From 95e09ef50d35b0202a2bd79a61abab7d74ab91a9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Dec 2025 11:03:36 +0000
Subject: [PATCH 2/3] Migrate to JDK 17: Update pom.xml and GitHub Actions
workflows
Co-authored-by: rbri <2544132+rbri@users.noreply.github.com>
---
.github/workflows/maven.yml | 2 +-
README.md | 4 ++++
pom.xml | 40 ++++++++++++++++++++++---------------
3 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 028e26ce1d..9d98310f18 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -19,7 +19,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- java: ['11', '17', '21']
+ java: ['17', '21']
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
diff --git a/README.md b/README.md
index 169786ea32..df836f32ab 100644
--- a/README.md
+++ b/README.md
@@ -74,6 +74,10 @@ Add to your `build.gradle`:
implementation group: 'org.htmlunit', name: 'htmlunit', version: '4.21.0'
```
+## Requirements
+
+HtmlUnit requires **Java 17** or higher.
+
## Getting Started
You can start here:
* [Getting Started](https://www.htmlunit.org/gettingStarted.html)
diff --git a/pom.xml b/pom.xml
index ba3ba1bff7..3d0ac39196 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,8 +24,8 @@
yyyy-MM-dd HH:mm
-Xdoclint:none
- 8
- 8
+ 17
+ 17
4.21.0
4.21.0
@@ -90,6 +90,11 @@
org.apache.maven.plugins
maven-compiler-plugin
${compiler-plugin.version}
+
+
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
+
+
org.apache.maven.plugins
@@ -224,6 +229,9 @@
org.apache.maven.plugins
maven-surefire-plugin
${surefire-plugin.version}
+
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
+
org.apache.maven.plugins
@@ -299,7 +307,7 @@
3.6.3
- 1.8.0
+ 17
@@ -382,7 +390,7 @@
**/huge/*.java
**/encoding/*.java
- -Xms128m -Xmx1g -Dsun.reflect.noInflation=true
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx1g -Dsun.reflect.noInflation=true
maven
@@ -443,7 +451,7 @@
**/libraries/jquery/JQuery3x3x1Test.java
- -Xms128m -Xmx512m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx512m
maven
@@ -471,7 +479,7 @@
**/libraries/JQuery3x3x1Test.java
- -Xms128m -Xmx512m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx512m
maven
@@ -501,7 +509,7 @@
**/huge/ElementClosesElementTest.java
**/huge/ElementClosesElement2Test.java
- -Xms256m -Xmx512m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms256m -Xmx512m
maven
@@ -531,7 +539,7 @@
**/huge/HostParentOfBTest.java
**/huge/HostParentOfCTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -560,7 +568,7 @@
**/huge/HostParentOfDTest.java
**/huge/HostParentOfFTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -589,7 +597,7 @@
**/huge/HostParentOfHTest.java
**/huge/HostParentOfITest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -618,7 +626,7 @@
**/huge/HostParentOfMTest.java
**/huge/HostParentOfNTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -646,7 +654,7 @@
**/huge/HostParentOfPTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -674,7 +682,7 @@
**/huge/HostParentOfSTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -702,7 +710,7 @@
**/huge/HostParentOfS2Test.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -731,7 +739,7 @@
**/huge/HostParentOfTTest.java
**/huge/HostParentOfWTest.java
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
@@ -759,7 +767,7 @@
**/encoding/**
- -Xms512m -Xmx1024m
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
maven
From d39e4d562b4c830db9dc5cfd30f63bdd24c9bbcb Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Dec 2025 11:07:57 +0000
Subject: [PATCH 3/3] Address code review feedback: use property for exports
and allow Java 17+
Co-authored-by: rbri <2544132+rbri@users.noreply.github.com>
---
pom.xml | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/pom.xml b/pom.xml
index 3d0ac39196..c911084304 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,6 +26,9 @@
17
17
+
+
+ --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
4.21.0
4.21.0
@@ -92,7 +95,7 @@
${compiler-plugin.version}
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
+ ${java.exports.arg}
@@ -230,7 +233,7 @@
maven-surefire-plugin
${surefire-plugin.version}
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
+ ${java.exports.arg}
@@ -307,7 +310,7 @@
3.6.3
- 17
+ [17,)
@@ -390,7 +393,7 @@
**/huge/*.java
**/encoding/*.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx1g -Dsun.reflect.noInflation=true
+ ${java.exports.arg} -Xms128m -Xmx1g -Dsun.reflect.noInflation=true
maven
@@ -451,7 +454,7 @@
**/libraries/jquery/JQuery3x3x1Test.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx512m
+ ${java.exports.arg} -Xms128m -Xmx512m
maven
@@ -479,7 +482,7 @@
**/libraries/JQuery3x3x1Test.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms128m -Xmx512m
+ ${java.exports.arg} -Xms128m -Xmx512m
maven
@@ -509,7 +512,7 @@
**/huge/ElementClosesElementTest.java
**/huge/ElementClosesElement2Test.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms256m -Xmx512m
+ ${java.exports.arg} -Xms256m -Xmx512m
maven
@@ -539,7 +542,7 @@
**/huge/HostParentOfBTest.java
**/huge/HostParentOfCTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -568,7 +571,7 @@
**/huge/HostParentOfDTest.java
**/huge/HostParentOfFTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -597,7 +600,7 @@
**/huge/HostParentOfHTest.java
**/huge/HostParentOfITest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -626,7 +629,7 @@
**/huge/HostParentOfMTest.java
**/huge/HostParentOfNTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -654,7 +657,7 @@
**/huge/HostParentOfPTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -682,7 +685,7 @@
**/huge/HostParentOfSTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -710,7 +713,7 @@
**/huge/HostParentOfS2Test.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -739,7 +742,7 @@
**/huge/HostParentOfTTest.java
**/huge/HostParentOfWTest.java
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven
@@ -767,7 +770,7 @@
**/encoding/**
- --add-exports=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED -Xms512m -Xmx1024m
+ ${java.exports.arg} -Xms512m -Xmx1024m
maven