@@ -25,7 +25,7 @@ ShardingSphere 定义了,
2525
2626贡献者必须在设备安装,
2727
28- 1 . GraalVM CE 24 .0.2 ,或与 GraalVM CE 24 .0.2 兼容的 GraalVM 下游发行版。以 [ GraalVM Native Image] ( /cn/user-manual/shardingsphere-jdbc/graalvm-native-image ) 为准。
28+ 1 . GraalVM CE 25 .0.1 ,或与 GraalVM CE 25 .0.1 兼容的 GraalVM 下游发行版。以 [ GraalVM Native Image] ( /cn/user-manual/shardingsphere-jdbc/graalvm-native-image ) 为准。
29292 . 编译 GraalVM Native Image 所需要的本地工具链。以 https://www.graalvm.org/latest/reference-manual/native-image/#prerequisites 为准。
30303 . 可运行 Linux Containers 的 Docker Engine,或与 testcontainers-java 兼容的 Container Runtime。以 https://java.testcontainers.org/supported_docker_environment/ 为准。
3131
@@ -41,8 +41,8 @@ ShardingSphere 定义了,
4141sudo apt install unzip zip -y
4242curl -s " https://get.sdkman.io" | bash
4343source " $HOME /.sdkman/bin/sdkman-init.sh"
44- sdk install java 24 .0.2 -graalce
45- sdk use java 24 .0.2 -graalce
44+ sdk install java 25 .0.1 -graalce
45+ sdk use java 25 .0.1 -graalce
4646```
4747
4848可在 bash 通过如下命令安装编译 GraalVM Native Image 所需要的本地工具链。
@@ -85,11 +85,11 @@ winget install --id version-fox.vfox --source winget --exact
8585if (-not (Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }; Add-Content -Path $PROFILE -Value ' Invoke-Expression "$(vfox activate pwsh)"'
8686# 此时需要打开新的 Powershell 7 终端
8787vfox add java
88- vfox install java@24 .0.2 -graalce
89- vfox use --global java@24 .0.2 -graalce
88+ vfox install java@25 .0.1 -graalce
89+ vfox use --global java@25 .0.1 -graalce
9090` ` `
9191
92- 当 Windows 弹出窗口,要求允许类似 ` C:\u sers\s hard\. version-fox\c ache\j ava\v -24 .0.2 -graalce\j ava-24 .0.2 -graalce\b in\j ava.exe` 路径的应用通过 Windows 防火墙时,应当批准。
92+ 当 Windows 弹出窗口,要求允许类似 ` C:\u sers\s hard\. version-fox\c ache\j ava\v -25 .0.1 -graalce\j ava-25 .0.1 -graalce\b in\j ava.exe` 路径的应用通过 Windows 防火墙时,应当批准。
9393背景参考 https://support.microsoft.com/en-us/windows/risks-of-allowing-apps-through-windows-firewall-654559af-3f54-3dcf-349f-71ccd90bcc5c 。
9494
9595可在 Powershell 7 通过如下命令安装编译 GraalVM Native Image 所需要的本地工具链。** 特定情况下,开发者可能需要为 Visual Studio 的使用购买许可证。**
@@ -286,34 +286,38 @@ class SolutionTest {
286286当前执行 ` ./mvnw -PnativeTestInShardingSphere -e -T 1C clean verify` 将涉及到针对 ` com.oracle.svm.core.code.CodeCachePoolMXBean` 的警告日志,
287287
288288` ` ` shell
289- org.graalvm.nativeimage.MissingReflectionRegistrationError: The program tried to reflectively access
290-
291- com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool.getConstructors ()
292-
293- without it being registered for runtime reflection. Add com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool.getConstructors () to the reflection metadata to solve this problem. See https://www.graalvm.org/latest/reference-manual/native-image/metadata/# reflection for help.
294- java.base@24.0.2/java.lang.Class.getConstructors(DynamicHub.java:1128)
295- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.findConstructors(MBeanIntrospector.java:459)
296- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:430)
297- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:389)
298- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanSupport.< init>( MBeanSupport.java:137)
299- java.management@24.0.2/com.sun.jmx.mbeanserver.MXBeanSupport.< init>( MXBeanSupport.java:66)
300- java.management@24.0.2/javax.management.StandardMBean.construct(StandardMBean.java:174)
301- java.management@24.0.2/javax.management.StandardMBean.< init>( StandardMBean.java:268)
302- org.graalvm.nativeimage.MissingReflectionRegistrationError: The program tried to reflectively access
303-
304- com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool.getConstructors ()
305-
306- without it being registered for runtime reflection. Add com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool.getConstructors () to the reflection metadata to solve this problem. See https://www.graalvm.org/latest/reference-manual/native-image/metadata/# reflection for help.
307- java.base@24.0.2/java.lang.Class.getConstructors(DynamicHub.java:1128)
308- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.findConstructors(MBeanIntrospector.java:459)
309- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:430)
310- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:389)
311- java.management@24.0.2/com.sun.jmx.mbeanserver.MBeanSupport.< init>( MBeanSupport.java:137)
312- java.management@24.0.2/com.sun.jmx.mbeanserver.MXBeanSupport.< init>( MXBeanSupport.java:66)
313- java.management@24.0.2/javax.management.StandardMBean.construct(StandardMBean.java:174)
314- java.management@24.0.2/javax.management.StandardMBean.< init>( StandardMBean.java:268)
289+ org.graalvm.nativeimage.MissingReflectionRegistrationError: Cannot reflectively access the ' com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool' . To allow this operation, add the following to the ' reflection' section of ' reachability-metadata.json' and rebuild the native image:
290+
291+ {
292+ " type" : " com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool "
293+ }
294+
295+ The ' reachability-metadata.json' file should be located in ' META-INF/native-image/<group-id>/<artifact-id>/' of your project. For further help, see https://www.graalvm.org/latest/reference-manual/native-image/metadata/# reflection
296+ java.base@25.0.1/java.lang.Class.getConstructors(DynamicHub.java:1277)
297+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.findConstructors(MBeanIntrospector.java:459)
298+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:430)
299+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:389)
300+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanSupport.< init>( MBeanSupport.java:137)
301+ java.management@25.0.1/com.sun.jmx.mbeanserver.MXBeanSupport.< init>( MXBeanSupport.java:66)
302+ java.management@25.0.1/javax.management.StandardMBean.construct(StandardMBean.java:174)
303+ java.management@25.0.1/javax.management.StandardMBean.< init>( StandardMBean.java:268)
304+ org.graalvm.nativeimage.MissingReflectionRegistrationError: Cannot reflectively access the ' com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool' . To allow this operation, add the following to the ' reflection' section of ' reachability-metadata.json' and rebuild the native image:
305+
306+ {
307+ " type" : " com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool "
308+ }
309+
310+ The ' reachability-metadata.json' file should be located in ' META-INF/native-image/<group-id>/<artifact-id>/' of your project. For further help, see https://www.graalvm.org/latest/reference-manual/native-image/metadata/# reflection
311+ java.base@25.0.1/java.lang.Class.getConstructors(DynamicHub.java:1277)
312+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.findConstructors(MBeanIntrospector.java:459)
313+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:430)
314+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:389)
315+ java.management@25.0.1/com.sun.jmx.mbeanserver.MBeanSupport.< init>( MBeanSupport.java:137)
316+ java.management@25.0.1/com.sun.jmx.mbeanserver.MXBeanSupport.< init>( MXBeanSupport.java:66)
317+ java.management@25.0.1/javax.management.StandardMBean.construct(StandardMBean.java:174)
318+ java.management@25.0.1/javax.management.StandardMBean.< init>( StandardMBean.java:268)
315319` ` `
316320
317- 相关警告在 ` GraalVM CE For JDK 24 .0.2 ` 上无法避免。
321+ 相关警告在 ` GraalVM CE For JDK 25 .0.1 ` 上无法避免。
318322因为 ` com.oracle.svm.core.code.CodeCachePoolMXBean` 的无参构造函数通过 Java 类 ` org.graalvm.nativeimage.Platform.HOSTED_ONLY` 被标记为无论实际的 Platform 是什么,
319323仅在 Native Image 生成期间可见,且无法在 Runtime 使用的元素。
0 commit comments