无法获取可变的Windows环境变量映射-gradle

Mat*_*icz 7 java gradle spring-boot

当我尝试构建项目时,终端返回错误:FAILURE:构建失败并出现异常。

  • 出了什么问题:无法获取可变的 Windows 环境变量映射

构建.gradle:

buildscript {
    ext {
        springBootVersion = '2.1.18.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.kodilla'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
    implementation('org.springframework.boot:spring-boot-starter-web')
    implementation 'org.projectlombok:lombok:1.18.24'
    runtimeOnly('com.h2database:h2')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
    implementation group: 'mysql', name: 'mysql-connector-java', version: '5.1.13'
}
Run Code Online (Sandbox Code Playgroud)

PS D:\Development\Projects\project-jdp-2212-02> ./gradlew 包装器 --stacktrace

FAILURE: Build failed with an exception.                                                                                                                                               
                                                                                                                                                                                       
* What went wrong:                                                                                                                                                                     
Unable to get mutable Windows environment variable map                                                                                                                                 
                                                                                                                                                                                       
* Try:                                                                                                                                                                                 
Run with --info or --debug option to get more log output. Run with --scan to get full insights.                                                                                        
                                                                                                                                                                                       
* Exception is:                                                                                                                                                                        
net.rubygrapefruit.platform.NativeException: Unable to get mutable Windows environment variable map                                                                                    
        at net.rubygrapefruit.platform.internal.WrapperProcess.getWindowsEnv(WrapperProcess.java:127)                                                                                  
        at net.rubygrapefruit.platform.internal.WrapperProcess.setEnvInternal(WrapperProcess.java:100)                                                                                 
        at net.rubygrapefruit.platform.internal.WrapperProcess.setEnvironmentVariable(WrapperProcess.java:85)                                                                          
        at org.gradle.internal.nativeintegration.processenvironment.NativePlatformBackedProcessEnvironment.setNativeEnvironmentVariable(NativePlatformBackedProcessEnvironment.java:36)
        at org.gradle.internal.nativeintegration.processenvironment.AbstractProcessEnvironment.setEnvironmentVariable(AbstractProcessEnvironment.java:67)                              
        at org.gradle.internal.nativeintegration.processenvironment.AbstractProcessEnvironment.maybeSetEnvironment(AbstractProcessEnvironment.java:41)                                 
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:65)                                                                 
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)                                                                                   
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)                                                                       
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)                                                               
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)                                                                             
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private static final java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment accessible: module java.base does not "opens java.lang" to 
unnamed module @5a39699c
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
        at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
        at net.rubygrapefruit.platform.internal.WrapperProcess.getWindowsEnv(WrapperProcess.java:124)
        ... 16 more


* Get more help at https://help.gradle.org
Run Code Online (Sandbox Code Playgroud)
Tried to find a solution in web but to no avail
Run Code Online (Sandbox Code Playgroud)

小智 7

我认为根据您在帖子下的评论中所写的内容,我找到了错误的原因。

看看你使用的Gradle版本和JVM版本——它们之间的时间差异相当大。换句话说,它们是不兼容的。

在此输入图像描述

更新 gradle 版本或将 JAVA_HOME 路径更改为较旧的 JVM 版本