diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 2410301ad..48a14beb0 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -8,6 +8,19 @@
Updated the embedded Maven from version 3.9.4 to 3.9.5; [Maven 3.9.5 Release Notes](https://maven.apache.org/docs/3.9.5/release-notes.html).
+### Dropped aether-okhttp-connector
+
+Previously, m2e embedded [`aether-okhttp-connector`](https://github.com/takari/aether-connector-okhttp), an alternative to Wagon HTTP connector, based on [OkHttp](https://square.github.io/okhttp/), which was developed at a time when Maven 2's HTTP Connector didn't leverage HTTP/2 and parallel downloads.
+
+However, the usage of this alternative connector introduced certain inconsistencies when compared to regular Maven CLI builds.
+These discrepancies, often revolving around matters of authentication and proxies, posed challenges.
+Maven 3.x significantly improved its resolver implementations, largely mitigating the advantages of `aether-okhttp-connector` and bringing new features.
+This shift left the `aether-okhttp-connector` outdated and that project has now been abandoned.
+
+m2e 2.4 has been adjusted to better align with the Maven 3.9 runtime.
+This adjustment is expected to result in fewer issues pertaining to artifact resolution and proxy authentication.
+However, due to its removal from the runtime, there exists a potential risk that third-party Plug-ins dependent on m2e's integrated `OkHttp` functionality might experience disruptions.
+
## 2.4.0
* 📅 Release Date: 29th August 2023
diff --git a/org.eclipse.m2e.editor.lemminx.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.editor.lemminx.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..62ef3488c
--- /dev/null
+++ b/org.eclipse.m2e.editor.lemminx.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/org.eclipse.m2e.editor.lemminx.tests/META-INF/MANIFEST.MF b/org.eclipse.m2e.editor.lemminx.tests/META-INF/MANIFEST.MF
index cffcea50c..2c8b65515 100644
--- a/org.eclipse.m2e.editor.lemminx.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.m2e.editor.lemminx.tests/META-INF/MANIFEST.MF
@@ -12,7 +12,7 @@ Require-Bundle: org.junit,
org.eclipse.ui.ide,
org.eclipse.core.resources,
org.eclipse.ui.workbench.texteditor,
- org.eclipse.core.runtime,
+ org.eclipse.m2e.maven.runtime;bundle-version="[3.9.400,4.0.0)",
org.eclipse.ui.tests.harness,
org.eclipse.jface.text,
org.eclipse.m2e.core.ui,
diff --git a/org.eclipse.m2e.feature/forceQualifierUpdate.txt b/org.eclipse.m2e.feature/forceQualifierUpdate.txt
index 330e2451a..afc096bce 100644
--- a/org.eclipse.m2e.feature/forceQualifierUpdate.txt
+++ b/org.eclipse.m2e.feature/forceQualifierUpdate.txt
@@ -1,2 +1,3 @@
# To force a version qualifier update add the bug here
Update build-qualifier because maven-runtime version update to Maven 3.9.5
+Update build-qualifier because maven-runtime dropped aether-okhttp-connector
diff --git a/org.eclipse.m2e.maven.runtime/pom.xml b/org.eclipse.m2e.maven.runtime/pom.xml
index 57e0fe5a0..e033fd6f5 100644
--- a/org.eclipse.m2e.maven.runtime/pom.xml
+++ b/org.eclipse.m2e.maven.runtime/pom.xml
@@ -33,15 +33,14 @@
bundle. So make sure the following variable has the value of the maven-resolver-* jars
https://bugs.eclipse.org/bugs/show_bug.cgi?id=529540 -->
1.9.16
+ 1.16.0
0.0.7
- 0.17.8
target/jars
${project.build.directory}/classes-source
false
%Y%m%d-%H%M
-
org.apache.maven
@@ -78,17 +77,6 @@
plexus-build-api
${plexus-build-api.version}
-
- io.takari.aether
- aether-connector-okhttp
- ${okhttp-connector.version}
-
-
- org.eclipse.aether
- aether-util
-
-
-
org.apache.maven.resolver
maven-resolver-impl
@@ -101,6 +89,18 @@
org.apache.maven.resolver
maven-resolver-transport-wagon
+
+ org.apache.maven.resolver
+ maven-resolver-transport-file
+
+
+ org.apache.maven.resolver
+ maven-resolver-transport-http
+
+
+ org.apache.maven.wagon
+ wagon-http
+
org.apache.maven.wagon
wagon-file
@@ -140,6 +140,17 @@
2.0.7
provided
+
+ commons-codec
+ commons-codec
+ ${apache-commons-codec.version}
+ provided
+
+
+ org.apache.commons
+ commons-lang3
+ provided
+
javax.annotation
javax.annotation-api
@@ -192,14 +203,16 @@
org.sonatype.plexus.*;provider=m2e;mandatory:=provider,\
org.eclipse.aether.*;provider=m2e;mandatory:=provider;version=${maven-resolver.version},\
com.google.inject.*;provider=m2e;mandatory:=provider,\
- io.takari.*;provider=m2e;mandatory:=provider,\
+ org.apache.maven.wagon.*;provider=m2e;mandatory:=provider,\
org.eclipse.sisu.*;provider=m2e;mandatory:=provider;version=${maven-resolver.version}
Import-Package: \
org.slf4j;version="[1.7.31,3.0.0)",\
org.slf4j.*;version="[1.7.31,3.0.0)",\
javax.inject;version="[1.0.0,2.0.0)",\
javax.annotation;version="[1.2.0,2.0.0)", \
- org.apache.commons.cli;version="[1.4.0,2.0.0)"
+ org.apache.commons.cli;version="[1.4.0,2.0.0)", \
+ org.apache.commons.codec*, \
+ org.apache.commons.lang3*
Require-Bundle: \
com.google.guava;bundle-version="32.0.1"
diff --git a/org.eclipse.m2e.tests.common/src/org/eclipse/m2e/tests/common/HttxWagon.java b/org.eclipse.m2e.tests.common/src/org/eclipse/m2e/tests/common/HttxWagon.java
index c38f36c26..550e3e1da 100644
--- a/org.eclipse.m2e.tests.common/src/org/eclipse/m2e/tests/common/HttxWagon.java
+++ b/org.eclipse.m2e.tests.common/src/org/eclipse/m2e/tests/common/HttxWagon.java
@@ -25,19 +25,18 @@
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.authentication.AuthenticationInfo;
import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.providers.http.HttpWagon;
import org.apache.maven.wagon.proxy.ProxyInfoProvider;
import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.wagon.resource.Resource;
-import io.takari.aether.wagon.OkHttpsWagon;
-
/**
* A special wagon for testing that allows to record the requests made to a repository. Use
* {@link #setRequestFilterPattern(String, boolean)} to configure what to record and to optionally clear previous
* records. The repository URL to use with this wagon looks like {@code httx://localhost/}.
*/
-public class HttxWagon extends OkHttpsWagon {
+public class HttxWagon extends HttpWagon {
//MUST NOT start with "http", because otherwise the io.takari.aether.connector.AetherRepositoryConnector will consider it as default http(s) and will handle the connection.
static String PROTOCOL = "httx";
diff --git a/target-platform/target-platform.target b/target-platform/target-platform.target
index c979d0ef0..ed60dd8fe 100644
--- a/target-platform/target-platform.target
+++ b/target-platform/target-platform.target
@@ -100,6 +100,18 @@
1.6.0
jar
+
+ commons-codec
+ commons-codec
+ 1.16.0
+ jar
+
+
+ org.apache.commons
+ commons-lang3
+ 3.13.0
+ jar
+