This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/main by this push:
     new 5b4ef9da94 Update JDK Javadoc links to Java 17
5b4ef9da94 is described below

commit 5b4ef9da94dd582dae372a81a437325df1dfb83e
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Wed Jul 17 20:55:25 2024 +0200

    Update JDK Javadoc links to Java 17
---
 src/site/antora/antora.tmpl.yml                    |  2 +-
 src/site/antora/antora.yml                         |  2 +-
 src/site/antora/modules/ROOT/pages/log4j-jul.adoc  | 28 +++++----
 .../modules/ROOT/pages/manual/appenders.adoc       | 73 ++++++++++++----------
 .../antora/modules/ROOT/pages/manual/filters.adoc  | 22 +++----
 .../modules/ROOT/pages/manual/garbagefree.adoc     |  5 +-
 .../antora/modules/ROOT/pages/manual/layouts.adoc  | 11 +++-
 .../antora/modules/ROOT/pages/manual/lookups.adoc  | 17 ++---
 .../modules/ROOT/pages/manual/pattern-layout.adoc  | 14 +++--
 .../antora/modules/ROOT/pages/manual/plugins.adoc  |  7 ++-
 .../antora/modules/ROOT/pages/manual/scripts.adoc  |  9 +--
 .../properties-configuration-factory.adoc          |  2 +-
 .../properties-garbage-collection.adoc             |  8 ++-
 .../properties-log4j-core-misc.adoc                |  2 +-
 .../systemproperties/properties-log4j-jndi.adoc    |  2 +-
 .../systemproperties/properties-log4j-jul.adoc     |  2 +-
 .../systemproperties/properties-log4j-script.adoc  |  4 +-
 .../properties-logger-context.adoc                 |  3 +-
 .../properties-transport-security.adoc             | 38 +++++------
 19 files changed, 140 insertions(+), 111 deletions(-)

diff --git a/src/site/antora/antora.tmpl.yml b/src/site/antora/antora.tmpl.yml
index eaf29030f6..230e25d958 100644
--- a/src/site/antora/antora.tmpl.yml
+++ b/src/site/antora/antora.tmpl.yml
@@ -43,7 +43,7 @@ asciidoc:
     project-github-url: "${scm.url}/tree/${scm.tag}"
     project-name: "Log4j"
     project-id: "log4j"
-    java-target-version: "${maven.compiler.target}"
+    java-target-version: "${maven.compiler.release}"
     java-compiler-version: "${minimalJavaBuildVersion}"
     log4j-kubernetes-url: 
"https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md";
     logback-url: "https://logback.qos.ch";
diff --git a/src/site/antora/antora.yml b/src/site/antora/antora.yml
index 45889174ea..ebd9c40359 100644
--- a/src/site/antora/antora.yml
+++ b/src/site/antora/antora.yml
@@ -43,7 +43,7 @@ asciidoc:
     project-github-url: "https://github.com/apache/logging-log4j2/tree/main";
     project-name: "Log4j"
     project-id: "log4j"
-    java-target-version: "8"
+    java-target-version: "17"
     java-compiler-version: "[17,18)"
     log4j-kubernetes-url: 
"https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md";
     logback-url: "https://logback.qos.ch";
diff --git a/src/site/antora/modules/ROOT/pages/log4j-jul.adoc 
b/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
index a68209e613..854b102c38 100644
--- a/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
+++ b/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
@@ -17,7 +17,9 @@ Licensed to the Apache Software Foundation (ASF) under one or 
more
 
 = Log4j JDK Logging Adapter
 
-The JDK Logging Adapter is a custom implementation of 
http://docs.oracle.com/javase/6/docs/api/java/util/logging/LogManager.html[`java.util.logging.LogManager`]
 that uses link:javadoc/log4j-core/index.html[Log4j].
+The JDK Logging Adapter is a custom implementation of
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/LogManager.html[`java.util.logging.LogManager`]
+that uses link:javadoc/log4j-core/index.html[Log4j].
 This adapter can be used with either the Log4j API or Log4j Core.
 When used with the API, there are a couple features of JUL that aren't 
supported.
 However, this does allow any other Log4j Provider besides the Core provider to 
be used with JUL.
@@ -35,14 +37,14 @@ This must be done either through the command line (i.e., 
using the `-Djava.util.
 == Compatibility
 
 The use of a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Filter.html[`java.util.logging.Filter`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Filter.html[`java.util.logging.Filter`]
 is supported on a
-per-link:https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Logger.html[`Logger`]
+per-link:https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Logger.html[`Logger`]
 basis.
 However, it is recommended to use the standard 
xref:manual/filters.adoc[filters] feature in Log4j instead.
 
 The use of
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Handler.html[`java.util.logging.Handler`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Handler.html[`java.util.logging.Handler`]
 classes is
 _NOT_ supported.
 Custom Handlers should instead use an appropriate
@@ -66,31 +68,31 @@ Using the default `LevelConverter` implementation, custom 
logging levels are map
 |===
 | Java Level | Log4j Level
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#OFF[`OFF`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#OFF[`OFF`]
 | {log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#OFF[`OFF`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#SEVERE[`SEVERE`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#SEVERE[`SEVERE`]
 | 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#ERROR[`ERROR`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#WARNING[`WARNING`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#WARNING[`WARNING`]
 | 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#WARN[`WARN`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#OFF[`OFF`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#OFF[`OFF`]
 | 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#INFO[`INFO`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#CONFIG[`CONFIG`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#CONFIG[`CONFIG`]
 | custom `CONFIG` level
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINE[`FINE`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINE[`FINE`]
 | 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#DEBUG[`DEBUG`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINER[`FINER`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINER[`FINER`]
 | 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#TRACE[`TRACE`]
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINEST[`FINEST`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINEST[`FINEST`]
 | custom `FINEST` level
 
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#ALL[`ALL`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#ALL[`ALL`]
 | {log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#ALL[`ALL`]
 |===
 
diff --git a/src/site/antora/modules/ROOT/pages/manual/appenders.adoc 
b/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
index 2428a9587c..02daaa0701 100644
--- a/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
@@ -59,12 +59,12 @@ These configuration attributes are shared by multiple 
appenders:
 If set to `true`, Log4j will flush all Java buffers at the end of each event:
 
 * for appenders based on Java's
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/io/OutputStream.html[`OutputStream`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/io/OutputStream.html[`OutputStream`]
 a call to the `OutputStream.flush()` method is performed.
 * if
 
xref:manual/systemproperties.adoc#log4j.gc.enableDirectEncoders[`log4j.gc.enableDirectEncoders`]
 is set to `true`, many Log4j appenders use a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]
 to format log events before sending them to the underlying resource.
 Setting `immediateFlush` to `true` flushes these buffers at each event.
 
@@ -137,7 +137,7 @@ Note that exceptions while writing to those Appenders will 
be hidden from the ap
 The AsyncAppender should be configured after the appenders it references to 
allow it to shut down properly.
 
 By default, AsyncAppender uses
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/ArrayBlockingQueue.html[`java.util.concurrent.ArrayBlockingQueue`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html[`java.util.concurrent.ArrayBlockingQueue`]
 which does not require any external libraries.
 Note that multi-threaded applications should exercise care when using this 
appender as such: the blocking queue is susceptible to lock contention and our
 xref:manual/performance.adoc#async[tests showed] performance may become worse 
when more threads are logging concurrently.
@@ -272,7 +272,7 @@ Log4j ships with the following implementations:
 |=======================================================================
 |Plugin Name |Description
 |ArrayBlockingQueue |This is the default implementation that uses
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/ArrayBlockingQueue.html[`ArrayBlockingQueue`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html[`ArrayBlockingQueue`].
 
 |DisruptorBlockingQueue |This uses the
 https://github.com/conversant/disruptor[Conversant Disruptor]
@@ -285,7 +285,7 @@ bounded lock-free queue.
 This implementation is provided by the `log4j-jctools` artifact.
 
 |LinkedTransferQueue |This uses the new Java 7 implementation
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/LinkedTransferQueue.html[`LinkedTransferQueue`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/LinkedTransferQueue.html[`LinkedTransferQueue`].
 Note that this queue does not use the `bufferSize` configuration
 attribute from AsyncAppender as `LinkedTransferQueue` does not support a
 maximum capacity.
@@ -496,7 +496,7 @@ File attribute permissions in POSIX format to apply 
whenever the file is
 created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
 file attribute view.
 
 Examples: `rw-------` or `rw-rw-rw-` etc...
@@ -512,14 +512,14 @@ 
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
 is in effect for path.
 
 The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
 attribute view.
 
 |fileGroup |String a|
 File group to define whenever the file is created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
 file attribute view.
 
 |=======================================================================
@@ -1197,7 +1197,9 @@ However, configurations written for 2.0 that use the 
`<JMSQueue/>` or `<JMSTopic
 | factoryName
 | String
 | _Required_
-| The fully qualified class name that should be used to define the Initial 
Context Factory as defined in 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#INITIAL_CONTEXT_FACTORY[`INITIAL_CONTEXT_FACTORY`].
 If a `factoryName` is specified without a `providerURL`, a warning message 
will be logged as this is likely to cause problems.
+| The fully qualified class name that should be used to define the Initial 
Context Factory as defined in
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#INITIAL_CONTEXT_FACTORY[`INITIAL_CONTEXT_FACTORY`].
+If a `factoryName` is specified without a `providerURL`, a warning message 
will be logged as this is likely to cause problems.
 
 | filter
 | Filter
@@ -1222,7 +1224,9 @@ However, configurations written for 2.0 that use the 
`<JMSQueue/>` or `<JMSTopic
 | providerURL
 | String
 | _Required_
-| The URL of the provider to use as defined by 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#PROVIDER_URL[PROVIDER_URL].
 From Log4j 2.17, only the `java:` protocol is supported.
+| The URL of the provider to use as defined by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#PROVIDER_URL[PROVIDER_URL].
+From Log4j 2.17, only the `java:` protocol is supported.
 
 | destinationBindingName
 | String
@@ -1232,12 +1236,15 @@ However, configurations written for 2.0 that use the 
`<JMSQueue/>` or `<JMSTopic
 | securityPrincipalName
 | String
 | null
-| The name of the identity of the Principal as specified by 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#SECURITY_PRINCIPAL[SECURITY_PRINCIPAL].
 If a securityPrincipalName is specified without `securityCredentials`, a 
warning message will be logged as this is likely to cause problems.
+| The name of the identity of the Principal as specified by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#SECURITY_PRINCIPAL[SECURITY_PRINCIPAL].
+If a securityPrincipalName is specified without `securityCredentials`, a 
warning message will be logged as this is likely to cause problems.
 
 | securityCredentials
 | String
 | null
-| The security credentials for the principal as specified by 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#SECURITY_CREDENTIALS[SECURITY_CREDENTIALS].
+| The security credentials for the principal as specified by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#SECURITY_CREDENTIALS[SECURITY_CREDENTIALS].
 
 | ignoreExceptions
 | boolean
@@ -1257,7 +1264,8 @@ However, configurations written for 2.0 that use the 
`<JMSQueue/>` or `<JMSTopic
 | urlPkgPrefixes
 | String
 | null
-| A colon-separated list of package prefixes for the class name of the factory 
class that will create a URL context factory as defined by 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#URL_PKG_PREFIXES[URL_PKG_PREFIXES].
+| A colon-separated list of package prefixes for the class name of the factory 
class that will create a URL context factory as defined by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#URL_PKG_PREFIXES[URL_PKG_PREFIXES].
 
 | userName
 | String
@@ -1495,7 +1503,7 @@ Additional headers can be specified with embedded 
Property elements.
 It will also wait for a response from the server, and throw an error if no 2xx 
response is received.
 
 Implemented with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/HttpURLConnection.html[`HttpURLConnection`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/HttpURLConnection.html[`HttpURLConnection`].
 
 .HttpAppender Parameters
 [cols="20%,20%,60%",options="header",]
@@ -1693,7 +1701,7 @@ CompositeFilter.
 
 |immediateFlush |boolean a|
 When set to true, each write will be followed by a call to
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/MappedByteBuffer.html#force()[`MappedByteBuffer#force()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/MappedByteBuffer.html#force()[`MappedByteBuffer#force()`].
 This will guarantee the data is written to the storage device.
 
 The default for this parameter is `false`. This means that the data is
@@ -2342,7 +2350,7 @@ All patterns accept also format specifiers, e.g. `%03i` 
prints the index as zero
 
 will accept both a date/time pattern
 compatible with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
 and/or a %i which represents an integer counter.
 The integer counter
 allows specifying a padding, like %3i for space-padding the counter to
@@ -2393,7 +2401,7 @@ File attribute permissions in POSIX format to apply 
whenever the file is
 created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
 file attribute view.
 
 Examples: rw------- or rw-rw-rw- etc...
@@ -2409,14 +2417,14 @@ 
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
 is in effect for path.
 
 The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
 attribute view.
 
 |fileGroup |String a|
 File group to define whenever the file is created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
 file attribute view.
 
 |=======================================================================
@@ -2834,9 +2842,9 @@ Users can create custom conditions or use the built-in 
conditions:
 
 * <<DeleteIfFileName,`IfFileName`>> - accepts files whose path
 (relative to the base path) matches a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[regular
-expression] or a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[glob].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[regular
 expression]
+or a
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[glob].
 * <<DeleteIfLastModified,`IfLastModified`>> - accepts files that are as
 old as or older than the specified
 
link:../javadoc/log4j-core/org/apache/logging/log4j/core/appender/rolling/action/Duration.html#parse(CharSequence)[duration].
@@ -2877,13 +2885,12 @@ and must return a list with the paths to delete.
 |glob |String |_Required if regex is not specified._ Matches the relative
 path (relative to the base path) using a limited pattern language that
 resembles regular expressions but with a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[simpler
-syntax].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[simpler
 syntax].
 
 |regex |String |_Required if glob not specified._ Matches the relative
 path (relative to the base path) using a regular expression as defined
 by the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[`Pattern`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[`Pattern`]
 class.
 
 |nestedConditions |PathCondition[] |An optional set of nested
@@ -3159,7 +3166,7 @@ File attribute permissions in POSIX format to apply when 
action is
 executed.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
 file attribute view.
 
 Examples: rw------- or rw-rw-rw- etc...
@@ -3175,14 +3182,14 @@ 
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
 is in effect for path.
 
 The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
 attribute view.
 
 |fileGroup |String a|
 File group to define when action is executed.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
 file attribute view.
 
 |=======================================================================
@@ -3262,7 +3269,7 @@ of its parent directories, do not exist, they will be 
created.
 file. The format of the pattern should is dependent on the
 RolloverPolicy that is used. The DefaultRolloverPolicy will accept both
 a date/time pattern compatible with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
 and/or a %i which represents an integer counter. The pattern also
 supports interpolation at runtime so any of the Lookups (such as the
 xref:manual/lookups.adoc#DateLookup[DateLookup] can be included in the
@@ -3304,7 +3311,7 @@ File attribute permissions in POSIX format to apply 
whenever the file is
 created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
 file attribute view.
 
 Examples: `rw-------` or `rw-rw-rw-` etc...
@@ -3320,14 +3327,14 @@ 
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
 is in effect for path.
 
 The underlying file system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
 attribute view.
 
 |fileGroup |String a|
 File group to define whenever the file is created.
 
 The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
 file attribute view.
 
 |=======================================================================
@@ -4012,7 +4019,7 @@ syslog record.
 
 |charset |String |The character set to use when converting the Syslog
 String to a byte array. The String must be a valid
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/charset/Charset.html[`Charset`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/charset/Charset.html[`Charset`].
 If not specified, the default system Charset will be used.
 
 |connectTimeoutMillis |integer |The connect timeout in milliseconds. The
diff --git a/src/site/antora/modules/ROOT/pages/manual/filters.adoc 
b/src/site/antora/modules/ROOT/pages/manual/filters.adoc
index 9aaa346c47..f286a040b0 100644
--- a/src/site/antora/modules/ROOT/pages/manual/filters.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/filters.adoc
@@ -296,9 +296,9 @@ 
include::example$manual/filters/filters.properties[lines=17..-1]
 === Common configuration attributes
 
 The default behavior of filters is in line with the `filter()` methods of 
functional interfaces, such as
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/Optional.html#filter-java.util.function.Predicate-[`Optional.filter()`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Optional.html#filter(java.util.function.Predicate)[`Optional.filter()`]
 or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-[`Stream.filter()`]:
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/stream/Stream.html#filter(java.util.function.Predicate)[`Stream.filter()`]:
 filters pass matching events to the next filter and drop those that do not 
match.
 
 To allow for a larger spectrum of behaviors,
@@ -443,18 +443,18 @@ the `TimeFilter` supports the following parameters:
 | Attribute | Type | Default value | Description
 
 | start
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html[`LocalTime`]
 in `HH:mm:ss` format
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html#MIN[`LocalTime.MIN`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html[`LocalTime`]
 in `HH:mm:ss` format
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html#MIN[`LocalTime.MIN`]
 | The beginning of the time slot.
 
 | start
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html[`LocalTime`]
 in `HH:mm:ss` format
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html#MAX[`LocalTime.MAX`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html[`LocalTime`]
 in `HH:mm:ss` format
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html#MAX[`LocalTime.MAX`]
 | The end of the time slot.
 
 | timezone
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/ZoneId.html[`ZoneId`]
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/ZoneId.html#systemDefault--[`ZoneId.systemDefault()`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/ZoneId.html[`ZoneId`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/ZoneId.html#systemDefault()[`ZoneId.systemDefault()`]
 | The timezone to use when comparing `start` and `end` to the event timestamp.
 
 |===
@@ -762,7 +762,7 @@ the `RegexFilter` supports the following parameters:
 |Attribute | Type | Default value | Description
 
 | regex
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[`Pattern`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[`Pattern`]
 |
 | The regular expression used to match log messages.
 
@@ -1192,9 +1192,9 @@ the `MutableContextMapFilter` supports the following 
parameters:
 | Attribute | Type | Default value | Description
 
 | configLocation
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
 or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
 |
 | The location of the JSON <<configuration-map>>.
 
diff --git a/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc 
b/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
index 98dadb5f52..8feaeeda77 100644
--- a/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
@@ -267,7 +267,10 @@ Logging more than 10 parameters creates 
https://docs.oracle.com/javase/8/docs/te
 
 When a message parameter contains an unknown type by the layout, it will 
encode by calling `toString()` on these objects.
 Most objects don't have garbage-free `toString()` methods.
-Objects themselves can implement their own garbage-free encoders by either 
extending from 
https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html[Java's 
`CharSequence`] or 
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/util/StringBuilderFormattable.html[Log4j's
 `StringBuilderFormattable`].
+Objects themselves can implement their own garbage-free encoders by either 
extending from
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/CharSequence.html[Java's
 `CharSequence`]
+or
+{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/util/StringBuilderFormattable.html[Log4j's
 `StringBuilderFormattable`].
 
 [#codeImpact]
 === Avoiding autoboxing
diff --git a/src/site/antora/modules/ROOT/pages/manual/layouts.adoc 
b/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
index 6709dc94dd..a0c4adc312 100644
--- a/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
@@ -42,7 +42,9 @@ We recommend xref:manual/json-template-layout.adoc[] for 
structured logging purp
 [#charset]
 === Character encoding
 
-All <<collection,predefined layouts>> produce `String` that eventually get 
converted into a `byte` using the 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/charset/Charset.html[`Charset`]
 configured.
+All <<collection,predefined layouts>> produce `String` that eventually get 
converted into a `byte` using the
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/charset/Charset.html[`Charset`]
+configured.
 While doing so, unless an explicit encoding configuration is stated, they use 
`UTF-8` by default.
 If you want all your log events to be formatted in a certain character 
encoding that is different from what the employed layout defaults to, make sure 
to configure the layout's character encoding as needed.
 
@@ -269,8 +271,11 @@ For other valid values, refer to 
xref:manual/pattern-layout.adoc#converter-date[
 |timezone
 |String
 |The time zone ID of the log event.
-If not specified, this layout uses the 
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getDefault()[`TimeZone.getDefault()`]
 as the default.
-You can use time zone IDs supported by 
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getTimeZone(java.lang.String)[`TimeZone.getTimeZone(String)`].
+If not specified, this layout uses the
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getDefault()[`TimeZone.getDefault()`]
+as the default.
+You can use time zone IDs supported by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getTimeZone(java.lang.String)[`TimeZone.getTimeZone(String)`].
 
 |title
 |String
diff --git a/src/site/antora/modules/ROOT/pages/manual/lookups.adoc 
b/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
index e26fe83a3c..0bb854c8d0 100644
--- a/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
@@ -107,7 +107,7 @@ Lookups can choose to react differently depending on the 
execution context.
 <<DateLookup>> is such an example:
 
 * When used in a global context, it formats the **current** timestamp obtained 
through
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#currentTimeMillis--[`System.currentTimeMillis()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#currentTimeMillis()[`System.currentTimeMillis()`].
 * When used in the context of an event, it formats the **event** timestamp 
obtained through
 
link:../javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html#getTimeMillis()[`LogEvent.getTimeMillis()`].
 
@@ -147,7 +147,7 @@ using the `${prefix:key}` syntax:
 | <<ResourceBundleLookup,`bundle`>>
 |
 | A Java
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/ResourceBundle.html[resource
 bundle]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/ResourceBundle.html[resource
 bundle]
 
 | <<ContextMapLookup,`ctx`>>
 |
@@ -257,7 +257,7 @@ where:
 
 `baseName`::
 the base name of a resource bundle (see
-https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html[`ResourceBundle`]).
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/ResourceBundle.html[`ResourceBundle`]).
 
 `key`::
 the key for the resource string.
@@ -327,7 +327,7 @@ See <<lookups-patterns>> for more information.
 | `date:<format>`
 
 where `<format>` is a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
 pattern
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
 pattern
 
 |===
 
@@ -336,7 +336,7 @@ The timestamp used depends on the context:
 
 Global context::
 When used in a global context, the timestamp used is the current system 
timestamp as returned by
-https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#currentTimeMillis--[`System.currentTimeMillis()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#currentTimeMillis()[`System.currentTimeMillis()`].
 
 Log event context::
 When used in the context of a log event, the timestamp of the log event is 
used.
@@ -396,7 +396,7 @@ where `<key>` is any `String`
 |===
 
 The Environment Lookup retrieves the value of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#getenv-java.lang.String-[OS
 environment variable]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#getenv(java.lang.String)[OS
 environment variable]
 associated with the key.
 
 [#EventLookup]
@@ -510,7 +510,8 @@ The following keys are supported
 | Syntax
 | `jndi:<name>`
 
-where `<name>` is a JNDI 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Name.html[`Name`].
+where `<name>` is a JNDI
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Name.html[`Name`].
 
 | Dependency | `log4j-jndi`
 |===
@@ -796,7 +797,7 @@ where `<prop>` is any `String`
 |===
 
 The System Properties Lookup retrieves the value of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#getProperties--[Java
 system property]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#getProperties()[Java
 system property]
 associated with the key.
 
 [#UpperLookup]
diff --git a/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc 
b/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
index ed1aace9bd..a33877fa42 100644
--- a/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
@@ -235,7 +235,9 @@ This performs a function similar to <<converter-replace,the 
`replace` converter>
 
 It supports following attributes:
 
-`regex`:: A 
https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html[Java-compliant
 regular expression] to match the resulting string
+`regex`:: A
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[Java-compliant
 regular expression]
+to match the resulting string
 
 `replacement`:: The string to replace any matched substrings with
 
@@ -394,7 +396,8 @@ d{pattern}
 date{pattern}
 ----
 
-The date conversion specifier may be followed by a set of braces containing a 
date and time pattern string per 
https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`].
+The date conversion specifier may be followed by a set of braces containing a 
date and time pattern string per
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`].
 The predefined _named_ formats are:
 
 [%header,cols="2m,3m"]
@@ -448,7 +451,8 @@ The predefined _named_ formats are:
 |1351866842781
 |===
 
-You can also use a set of braces containing a time zone id per 
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getTimeZone(java.lang.String)[`java.util.TimeZone#getTimeZone(String)`].
+You can also use a set of braces containing a time zone id per
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getTimeZone(java.lang.String)[`java.util.TimeZone#getTimeZone(String)`].
 If no date format specifier is given then the `DEFAULT` format is used.
 
 You can also define custom date formats, see following examples:
@@ -481,7 +485,9 @@ While the time unit is milliseconds, the granularity 
depends on the platform.
 This is an efficient way to output the event time because only a conversion 
from `long` to `String` takes place, there is no `Date` formatting involved.
 
 There is also limited support for timestamps more precise than milliseconds 
when running on Java 9 or later.
-Note that not all 
https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`]
 formats are supported.
+Note that not all
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`]
+formats are supported.
 Only timestamps in the formats mentioned in the table above may use the 
_nano-of-second_ pattern letter `n` instead of the _fraction-of-second_ pattern 
letter `S`.
 
 Users may revert to a millisecond-precision clock when running on Java 9 by 
setting xref:manual/systemproperties.adoc#log4j2.clock[the `log4j2.clock` 
system property] to `SystemMillisClock`.
diff --git a/src/site/antora/modules/ROOT/pages/manual/plugins.adoc 
b/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
index 35e424470d..1b9b676897 100644
--- a/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
@@ -158,7 +158,7 @@ can be created as well.
 `ValidHost`::
   This annotation validates that a value corresponds to a valid
   hostname. This uses the same validation as
-  
http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html#getByName-java.lang.String-[`InetAddress::getByName`].
+  
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/InetAddress.html#getByName(java.lang.String)[`InetAddress::getByName`].
 `ValidPort`::
   This annotation validates that a value corresponds to a valid port
   number between 0 and 65535.
@@ -250,8 +250,9 @@ If any extends from `Comparable<TypeConverter<?>>`, it will 
be used for determin
 == Developer Notes
 
 If a plugin class implements
-http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html[`Collection`]
-or http://docs.oracle.com/javase/6/docs/api/java/util/Map.html[`Map`],
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Collection.html[`Collection`]
+or
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Map.html[`Map`],
 then no factory method is used. Instead, the class is instantiated using
 the default constructor, and all child configuration nodes are added to
 the `Collection` or `Map`.
diff --git a/src/site/antora/modules/ROOT/pages/manual/scripts.adoc 
b/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
index 22e040b7a5..99b81bdc51 100644
--- a/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
@@ -18,8 +18,9 @@
 = Scripts
 
 Log4j provides support for
-https://docs.oracle.com/javase/6/docs/technotes/guides/scripting/[JSR
-223] scripting languages to be used in some of its components.
+// Java 17 does not document JSR 223 any more
+https://docs.oracle.com/en/java/javase/11/scripting/scripting-languages-and-java.html[JSR
 223]
+scripting languages to be used in some of its components.
 
 [WARNING]
 ====
@@ -112,11 +113,11 @@ 
include::example$manual/configuration/scripts.properties[lines=17..-1]
 == A special note on Beanshell
 
 JSR 223 scripting engines are supposed to identify that they support the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/Compilable.html[`Compilable`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/Compilable.html[`Compilable`]
 interface if they support compiling their scripts.
 
 Beanshell does extend the `Compilable` interface, but an attempt to compile a 
script ends up in an
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/Error.html[`Error`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/Error.html[`Error`]
 being thrown.
 Log4j catches the throwable, but issues a warning in the status logger.
 
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
index 516a94259e..bbea0ee98b 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
@@ -36,7 +36,7 @@ Log4j will attempt to use the provided configuration factory 
before any other fa
 [cols="1h,5"]
 |===
 | Env. variable | `LOG4J_CONFIGURATION_LOCATION`
-| Type          | Comma-separated list of 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]s
 or 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]s
+| Type          | Comma-separated list of 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]s
 or 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]s
 | Default value | 
xref:manual/configuration.adoc#AutomaticConfiguration[automatically detected]
 |===
 
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
index 109462dba7..182a2bab9e 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
@@ -24,7 +24,9 @@
 | Default value | `true`
 |===
 
-If `true`, garbage-aware layouts will directly encode log events into 
https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
 provided by appenders.
+If `true`, garbage-aware layouts will directly encode log events into
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
+provided by appenders.
 
 This prevents allocating temporary `String` and `char[]` instances.
 
@@ -39,7 +41,7 @@ This prevents allocating temporary `String` and `char[]` 
instances.
 |===
 
 The size in bytes of the
-https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
 stored in `ThreadLocal` fields by layouts and
 
link:../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StringBuilderEncoder.html[`StringBuilderEncoder`]s.
 
@@ -56,7 +58,7 @@ This setting is only used if 
<<log4j.gc.enableDirectEncoders>> is set to `true`.
 |===
 
 The size in ``char``s of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
 stored in `ThreadLocal` fields
 
link:../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StringBuilderEncoder.html[`StringBuilderEncoder`]s.
 
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
index 9a5844872c..d1dfa26b5c 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
@@ -31,7 +31,7 @@ implementation used to timestamp log events.
 This must be the fully qualified class name of the implementation or one of 
these predefined constants:
 
 SystemClock:: uses the best available system clock as time source.
-See 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/Clock.html#systemDefaultZone--[`Clock.systemDefaultZone()`]
 for details.
+See 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/Clock.html#systemDefaultZone()[`Clock.systemDefaultZone()`]
 for details.
 
 SystemMillisClock:: same as `SystemClock`, but truncates the result to a 
millisecond.
 
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
index e77e96865f..b2a2974723 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
@@ -39,7 +39,7 @@ for more details.
 | Default value | `false`
 |===
 
-When `true`, a Log4j JDBC Appender can use JNDI to retrieve a 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/sql/DataSource.html[`DataSource`]
 using the `java:` protocol.
+When `true`, a Log4j JDBC Appender can use JNDI to retrieve a 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.sql/javax/sql/DataSource.html[`DataSource`]
 using the `java:` protocol.
 
 [id=log4j.jndi.enableJms]
 == `log4j.jndi.enableJms`
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
index 63b42d93d8..d7949a889b 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
@@ -44,7 +44,7 @@ This property allows users to choose between two 
implementation of the logging b
 
 org.apache.logging.log4j.jul.CoreLoggerAdapter::
 The default if `log4j-core` is found in the class path.
-It allows users to modify the Log4j Core configuration through the JUL 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Logger.html[`Logger`]
 interface.
+It allows users to modify the Log4j Core configuration through the JUL 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Logger.html[`Logger`]
 interface.
 
 org.apache.logging.log4j.jul.ApiLoggerAdapter::
 The default if `log4j-core` cannot be found in the class path.
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
index e2244262cc..0612d9a433 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
@@ -20,10 +20,10 @@
 [cols="1h,5"]
 |===
 | Env. variable | `LOG4J_SCRIPT_ENABLE_LANGUAGES`
-| Type          | Comma-separated list of 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/ScriptEngine.html[`ScriptEngine`]
 names
+| Type          | Comma-separated list of 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/ScriptEngine.html[`ScriptEngine`]
 names
 | Default value | _empty_
 |===
 
 The list of script languages that are allowed to execute.
 
-The names specified must correspond to those returned by 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/ScriptEngineFactory.html#getNames--[`ScriptEngineFactory.getNames()`].
+The names specified must correspond to those returned by 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/ScriptEngineFactory.html#getNames()[`ScriptEngineFactory.getNames()`].
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
index 1496fe381e..1a34f7dc27 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
@@ -97,7 +97,8 @@ 
link:../javadoc/log4j-core/org/apache/logging/log4j/core/util/ShutdownCallbackRe
 implementation.
 Integrators can use this to customize the shutdown order of the JVM.
 
-The default implementation executes all shutdown actions in a separate 
`Thread` registered through 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/Runtime.html#addShutdownHook-java.lang.Thread-[`Runtime#addShutdownHook()`].
+The default implementation executes all shutdown actions in a separate 
`Thread` registered through
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)[`Runtime#addShutdownHook()`].
 
 [id=log4j.loggerContext.stacktraceOnStart]
 == `log4j.loggerContext.stacktraceOnStart`
diff --git 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
index bf292c1263..edf1498fb8 100644
--- 
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
+++ 
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
@@ -22,11 +22,11 @@
 [cols="1h,5"]
 |===
 | Env. variable | `LOG4J_CONFIGURATION_ALLOWED_PROTOCOLS`
-| Type          | Comma-separated list of 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URL.html[`URL`]
 protocols
+| Type          | Comma-separated list of 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URL.html[`URL`]
 protocols
 | Default value | `file, https, jar`
 |===
 
-A comma separated list of 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URL.html[`URL`]
 protocols that may be used to load any kind of configuration source.
+A comma separated list of 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URL.html[`URL`]
 protocols that may be used to load any kind of configuration source.
 
 To completely prevent accessing the configuration via the Java `URL` class 
specify a value of `_none`.
 
@@ -41,7 +41,7 @@ NOTE:: Since Log4j does not use `URL` to access `file:` 
resources, this protocol
 | `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_LOCATION`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
 or 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
 or 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
 
 | Default value
 | see link:{jsse-default-keystores}[Default Java trust store]
@@ -73,7 +73,7 @@ The password for the trust store.
 | `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_PASSWORD_FILE`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
 
 | Default value | `null`
 |===
@@ -106,10 +106,10 @@ The name of the environment variable that contains 
password for the trust store.
 | `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_TYPE`
 
 | Type
-| 
https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`
 type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`
 type]
 
 | Default value
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/security/KeyStore.html#getDefaultType--[Default
 Java `KeyStore` type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/security/KeyStore.html#getDefaultType()[Default
 Java `KeyStore` type]
 |===
 
 The type of trust store.
@@ -123,13 +123,13 @@ The type of trust store.
 | `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_KEY_MANAGER_FACTORY_ALGORITHM`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
 type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
 type]
 
 | Default value
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm--[Default
 Java `KeyManagerFactory` algorithm]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()[Default
 Java `KeyManagerFactory` algorithm]
 |===
 
-Name of the 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
 implementation to use for the trust store.
+Name of the 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
 implementation to use for the trust store.
 
 [id=log4j.transportSecurity.verifyHostName]
 == `log4j.transportSecurity.verifyHostName`
@@ -152,8 +152,8 @@ If `true` enables verification of the name of the TLS 
server.
 | `LOG4J_TRANSPORT_SECURITY_KEY_STORE_LOCATION`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
 or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
 or
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
 
 | Default value
 | see link:{jsse-default-keystores}[Default Java key store]
@@ -179,7 +179,7 @@ The password for the private key store.
 [cols="1h,5"]
 |===
 | Env. variable | `LOG4J_TRANSPORT_SECURITY_KEY_STORE_PASSWORD_FILE`
-| Type          | 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+| Type          | 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
 | Default value | `null`
 |===
 
@@ -206,14 +206,14 @@ The name of the environment variable that contains the 
password for the private
 | `LOG4J_TRANSPORT_SECURITY_KEY_STORE_TYPE`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`
 type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`
 type]
 
 | Default value
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/security/KeyStore.html#getDefaultType--[Default
 Java `KeyStore` type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/security/KeyStore.html#getDefaultType()[Default
 Java `KeyStore` type]
 |===
 
 The type of private key store.
-See 
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`].
 
 [id=log4j.transportSecurity.keyStore.keyManagerFactory.algorithm]
 == `log4j.transportSecurity.keyStore.keyManagerFactory.algorithm`
@@ -224,11 +224,11 @@ See 
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/s
 | `LOG4J_TRANSPORT_SECURITY_KEY_STORE_KEY_MANAGER_FACTORY_ALGORITHM`
 
 | Type
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
 type]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
 type]
 
 | Default value
-| 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm--[Default
 Java `KeyManagerFactory` algorithm]
+| 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()[Default
 Java `KeyManagerFactory` algorithm]
 |===
 
-Name of the 
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
 implementation to use for the private key store.
-See 
https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
 types].
+Name of the 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
 implementation to use for the private key store.
+See 
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
 types].

Reply via email to