You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2022/06/09 19:30:29 UTC
[pulsar] branch master updated: [fix][client] Fix JDK17 compatibility issue (#15964)
This is an automated email from the ASF dual-hosted git repository.
mmarshall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 9d16b91027f [fix][client] Fix JDK17 compatibility issue (#15964)
9d16b91027f is described below
commit 9d16b91027f2691949328b029bfceb58cddc92c9
Author: Guoxiong Li <lg...@gmail.com>
AuthorDate: Fri Jun 10 03:30:22 2022 +0800
[fix][client] Fix JDK17 compatibility issue (#15964)
Fixes #15349
### Motivation
When using the JDK17, pulsar-client throws exception `module java.base does not export sun.net to unnamed module`, it is good to fix it.
### Modifications
Add `--add-opens java.base/sun.net=ALL-UNNAMED` to java option when using JDK17.
### Verifying this change
- [x] Make sure that the change passes the CI checks.
### Documentation
Check the box below or label this PR directly.
Need to update docs?
- [x] `doc-not-needed`
---
bin/pulsar-client | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/bin/pulsar-client b/bin/pulsar-client
index 73f82df37b0..acdc262a1e2 100755
--- a/bin/pulsar-client
+++ b/bin/pulsar-client
@@ -94,6 +94,13 @@ PULSAR_CLASSPATH="`dirname $PULSAR_LOG_CONF`:$PULSAR_CLASSPATH"
OPTS="$OPTS -Dlog4j.configurationFile=`basename $PULSAR_LOG_CONF`"
OPTS="$OPTS -Djava.net.preferIPv4Stack=true"
+IS_JAVA_8=`$JAVA -version 2>&1 |grep version|grep '"1\.8'`
+# Start --add-opens options
+# '--add-opens' option is not supported in jdk8
+if [[ -z "$IS_JAVA_8" ]]; then
+ OPTS="$OPTS --add-opens java.base/sun.net=ALL-UNNAMED"
+fi
+
OPTS="-cp $PULSAR_CLASSPATH $OPTS"
OPTS="$OPTS $PULSAR_EXTRA_OPTS"