我使用OpenJDK 17和来自Spring Initializr的 Maven Wrapper 3.8.2 (Maven 项目、JAR 打包、Java 17、Spring Boot 2.6.0)。没有额外的依赖项。
Run Code Online (Sandbox Code Playgroud)user@DESKTOP-U2OU5HG MINGW64 /c/Projects/my-project (master) $ java -version openjdk version "17" 2021-09-14 OpenJDK Runtime Environment (build 17+35-2724) OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
运行任何./mvnw.cmd -version或 后./mvnw.cmd clean install,我总是收到以下消息:
Run Code Online (Sandbox Code Playgroud)Unrecognized VM option 'MaxPermSize=512m' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
切换到OpenJDK 16.0.2可以解决该问题,但是,我需要使用 Java 17。
如何让它运行?没有地方MaxPermSize=512m设置。
我2.3.0从 Spring Initializr 到我的 Windows8.1操作系统生成了一个简单的演示项目(版本),下面是基本结构
C:.\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80main\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80java\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80com\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80example\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80demo\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80resources\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80test\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80java\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80com\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80example\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80demo\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试运行mvnw.cmd clean并收到以下错误:
C:\\Users\\Downloads\\demo\\demo>mvnw.cmd clean\n"}" was unexpected at this time.\nRun Code Online (Sandbox Code Playgroud)\n\n下面是 powershell 中的相同输出
\n\nPS C:\\Users\\Downloads\\demo\\demo> .\\mvnw.cmd clean\n"}" was unexpected at this time.\nPS C:\\Users\\Downloads\\demo\\demo>\nRun Code Online (Sandbox Code Playgroud)\n\n我发现问题发生在mvnw.cmd文件中的以下几行中:
powershell -Command "&{"^\n "$webclient = new-object System.Net.WebClient;"^\n "if (-not ([string]::IsNullOrEmpty(\'%MVNW_USERNAME%\') -and [string]::IsNullOrEmpty(\'%MVNW_PASSWORD%\'))) {"^\n "$webclient.Credentials = new-object System.Net.NetworkCredential(\'%MVNW_USERNAME%\', …Run Code Online (Sandbox Code Playgroud)