Windows10下Maven+Java17启动JavaFX应用版本不兼容问题求助
问题1:JDK版本不匹配报错解决
你遇到的类版本报错是因为代码用JDK17编译(类文件版本61.0),但运行javafx:run时调用的是JDK8(最高支持类版本52.0),按以下步骤调整即可:
- 首先修正pom中
maven-compiler-plugin的错误配置,删除<compilerVersion>1.3</compilerVersion>,该配置和你设置的<release>17</release>直接冲突,会导致编译参数异常。 - 给
javafx-maven-plugin添加运行时JDK路径配置,该插件默认会调用系统全局JRE,你当前的配置未指定运行JDK,修改后配置如下:
<plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <configuration> <mainClass>ch.package.Main</mainClass> <!-- 替换为你本地JDK17的java.exe路径 --> <executable>C:/Users/[user.name]/.jdks/openjdk-17/bin/java</executable> </configuration> </plugin>
注:0.0.8版本的javafx-maven-plugin本身支持JDK17,无需更换版本。
- 修改IntelliJ Maven运行的默认JRE配置:打开设置→构建、执行、部署→构建工具→Maven→运行程序,将JRE选项设置为你本地的JDK17,不要使用默认配置。
- 执行
mvn clean清除之前的编译缓存,再重新点击javafx:run运行即可。
问题2:切换Maven到官方中央仓库
可根据需求选择以下任意一种配置方式:
单项目生效(无需修改全局配置)
在pom.xml中添加仓库配置,与<build>、<dependencies>标签平级即可:
<repositories> <repository> <id>central</id> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
全局生效(所有Maven项目都走官方源)
修改IntelliJ自带Maven的settings.xml配置,文件路径为IntelliJ安装目录下/plugins/maven/lib/maven3/conf/settings.xml,找到<mirrors>标签添加如下配置:
<mirror> <id>central</id> <!-- 如果需要保留公司内部仓库的访问权限,可将*改为central --> <mirrorOf>*</mirrorOf> <url>https://repo1.maven.org/maven2/</url> </mirror>
配置完成后刷新Maven依赖即可。
内容的提问来源于stack exchange,提问作者Z-100
相关产品推荐
相关产品推荐

