如何解决IntelliJ编译Minecraft插件时找不到tools.jar的错误
解决IntelliJ编译Minecraft跨版本插件时的tools.jar缺失问题
问题根源
错误提示里的路径C:\Program Files\Java\jre1.8.0_51是JRE(Java运行环境),而tools.jar是JDK(Java开发工具包)专属文件,JRE不包含该文件,所以编译时会触发报错。
解决步骤
- 安装JDK 8(注意是JDK,不是JRE),确保安装路径为
C:\Program Files\Java\jdk1.8.0_51这类JDK开头的路径,不要使用JRE版本。 - 配置IntelliJ项目SDK:
- 打开
File > Project Structure(快捷键Ctrl+Alt+Shift+S) - 左侧选择
SDKs,点击加号添加JDK,选中刚安装的JDK 8路径 - 切换到
Project标签页,将Project SDK改为该JDK 8,Project language level设置为8
- 打开
- 检查模块SDK配置:
- 左侧选择
Modules,找到API模块 - 切换到
Dependencies标签页,确保Module SDK为配置好的JDK 8
- 左侧选择
- 配置构建工具(Gradle/Maven):
- Gradle:在API模块的
build.gradle中添加或修改:
同时在项目根目录的sourceCompatibility = 1.8 targetCompatibility = 1.8gradle.properties中指定JDK路径:org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_51 - Maven:在API模块的
pom.xml中配置maven-compiler-plugin:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <fork>true</fork> <executable>C:\Program Files\Java\jdk1.8.0_51\bin\javac.exe</executable> </configuration> </plugin> </plugins> </build>
- Gradle:在API模块的
- 清理缓存并重新编译:
- 点击
File > Invalidate Caches...,选择Invalidate and Restart - 重启后执行构建命令:Gradle用
./gradlew clean build,Maven用mvn clean install
- 点击
跨版本编译注意事项
要支持1.8-1.21版本的Minecraft插件,需基于最低兼容版本(Java 8)的JDK编译,高版本Java运行时会向下兼容。同时确保依赖的Spigot/Paper API配置正确,避免版本冲突。
内容的提问来源于stack exchange,提问作者Kitt-n
相关产品推荐
相关产品推荐

