Skip to content

Commit ad8dee9

Browse files
authored
Document known transport issues (#1792)
Document "known issues" for transports, for start the HTTP capable transports.
1 parent 0c4f7a4 commit ad8dee9

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Transporter Known Issues
2+
<!--
3+
Licensed to the Apache Software Foundation (ASF) under one
4+
or more contributor license agreements. See the NOTICE file
5+
distributed with this work for additional information
6+
regarding copyright ownership. The ASF licenses this file
7+
to you under the Apache License, Version 2.0 (the
8+
"License"); you may not use this file except in compliance
9+
with the License. You may obtain a copy of the License at
10+
11+
http://www.apache.org/licenses/LICENSE-2.0
12+
13+
Unless required by applicable law or agreed to in writing,
14+
software distributed under the License is distributed on an
15+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
KIND, either express or implied. See the License for the
17+
specific language governing permissions and limitations
18+
under the License.
19+
-->
20+
21+
This page lists known issues related to various transporters.
22+
23+
## The `jdk` (Java HttpClient) Transporter
24+
25+
Given this transporter uses the Java HttpClient (available since Java 11), it is the user's best interest
26+
to use latest patch version of Java, as HttpClient is getting bugfixes regularly.
27+
28+
Known issues:
29+
* Does not properly support `aether.transport.http.requestTimeout` configuration prior Java 26, see [JDK-8208693](https://bugs.openjdk.org/browse/JDK-8208693)
30+
* No TLS Proxy support, see [here](https://dev.to/kdrakon/httpclient-can-t-connect-to-a-tls-proxy-118a)
31+
* No SOCKS proxy support, see [JDK-8214516](https://bugs.openjdk.org/browse/JDK-8214516)
32+
* In case of Proxy TLS tunneling, to enable Proxy Basic authentication, one must use `jdk.http.auth.tunneling.disabledScheme`
33+
Java System Property, see [here](https://docs.oracle.com/en/java/javase/21/core/java-networking.html#GUID-801380C1-4300-4ED8-A390-3C39135267CD). Java versions since 8u111 have this property set to value "Basic" making HTTP
34+
Basic authentication disabled, see [here](https://www.oracle.com/java/technologies/javase/8u111-relnotes.html). To
35+
enable HTTP Basic authentication for Proxy TLS tunneling, one must set `jdk.http.auth.tunneling.disabledScheme` to
36+
empty string, e.g. by adding `-Djdk.http.auth.tunneling.disabledScheme=""` JVM argument.
37+
38+
Maven 4 uses this transport by default for HTTP(S) protocol.
39+
40+
## The `apache` (Apache HttpClient) Transporter
41+
42+
Transporter based on Apache HttpClient.
43+
44+
To use this transporter in Maven 4, you need to specify `-Dmaven.resolver.transport=apache` user property.
45+
46+
## The `jetty` (Jetty HttpClient) Transporter
47+
48+
Transporter based on Jetty HttpClient.
49+
50+
In Maven 4 this transport is not available by default (is not bundled). To use it,
51+
you need to add `org.apache.maven.resolver.transport:transport-http-jetty` artifact with its runtime dependencies to
52+
`/lib` directory of Maven. Once added to core classpath, it will take over the role of default transport.

src/site/site.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ under the License.
4545
<item name="Resolving Dependencies" href="resolving-dependencies.html"/>
4646
<item name="Common Misconceptions" href="common-misconceptions.html"/>
4747
<item name="Artifact Deployment" href="deployment.html"/>
48+
<item name="Transporter Known Issues" href="transporter-known-issues.html"/>
4849
</menu>
4950
<menu name="Reference">
5051
<item name="Configuration" href="configuration.html"/>

0 commit comments

Comments
 (0)