Skip to content

Conversation

@cstamas
Copy link
Member

@cstamas cstamas commented Sep 22, 2025

Originally we have this order of transports w/ priorities (present/absent in maven core):

  • wagon -1.0 (present)
  • apache 5.0 (present)
  • jdk 10.0 (present) ("default" transport)
  • jetty 15.0 (absent) (if user added it via extension or lib/ext it "wins")

But lately we see that JDK one advantage of HTTP/2 support (that is already disabled due various issues) is shaded due several disadvantages (no support for HTTPS proxies, unstable, and unreliable)

Hence, I propose to "demote" it (maybe even remove it from Maven core):

  • wagon -1.0 (present)
  • jdk 5.0 (present; and maybe remove it from maven core)
  • apache 10.0 (present; new "default" transport)
  • jetty 15.0 (absent)

This makes Maven 4 not have "modern" HTTP transport by default, but apache transport is well battle tested and robust, with one issue: lack of HTTP/2 support (that does improve download speeds).

If we decide for this, it will have impact on Maven ITs as well that asser default transport.

Originally we have this order of transports w/ priorities (present/absent in maven core):
* wagon -1.0 (present)
* apache 5.0 (present)
* jdk 10.0 (present) ("default" transport)
* jetty 15.p (absent) (if user added it via extension or lib/ext it "wins")

But lately we see that JDK one advantage of HTTP/2 support (that is
already disabled due various issues) is shaded due several
disadvantages (no support for HTTPS proxies, unstable, and unreliable)

Hence, I propose to "demote" it (maybe even remove it from Maven core):
* wagon -1.0 (present)
* jdk 5.0 (present; and maybe remove it from maven core)
* apache 10.0 (present; new "default" transport)
* jetty 15.0 (absent)

This makes Maven 4 not have "modern" HTTP transport by default, but
apache transport is well battle tested and robust, with one issue:
lack of HTTP/2 support (that does improve download speeds).
@cstamas cstamas added this to the 2.0.12 milestone Sep 22, 2025
@cstamas cstamas self-assigned this Sep 22, 2025
@cstamas cstamas marked this pull request as ready for review September 22, 2025 13:46
@cstamas cstamas merged commit 2ca95ee into apache:master Sep 22, 2025
8 checks passed
@cstamas cstamas deleted the demote-jdk branch September 22, 2025 14:13
cstamas added a commit to cstamas/maven-resolver that referenced this pull request Oct 1, 2025
cstamas added a commit that referenced this pull request Oct 7, 2025
@cstamas cstamas added the skip-changelog Skip this PR from automatically changelog generation label Oct 7, 2025
@desruisseaux
Copy link

Should it be reconsidered since at least some of the issues are addressed according this discussion?

@cstamas
Copy link
Member Author

cstamas commented Nov 14, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance skip-changelog Skip this PR from automatically changelog generation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants