Spring Boot中导入javax.script包报错,需添加何种Maven依赖?
解决
package javax.script does not exist编译错误 针对你在Spring Boot项目中导入javax.script.ScriptEngine和ScriptEngineManager时遇到的编译错误,分场景给出解决方案:
1. Java 8及更早版本
javax.script是JDK标准库自带的包,不需要额外添加Maven依赖。出现错误大概率是项目的JDK配置有问题:
- 检查IDE的项目SDK是否设置为完整JDK(不是仅JRE)
- 确认Maven的
pom.xml中指定的Java版本与本地JDK匹配:<properties> <java.version>1.8</java.version> <!-- 替换为你的实际JDK版本 --> </properties>
2. Java 9+ 模块化项目
如果你的项目启用了Java模块化(存在module-info.java文件),需要在模块声明里添加对脚本API模块的依赖:
module your.project.module.name { requires jdk.scripting; // 其他模块依赖声明... }
3. 特殊环境下显式添加依赖
如果使用了裁剪过的JDK/运行时,或者上述方法无效,可以在pom.xml中添加以下依赖:
<dependency> <groupId>org.apache.servicemix.bundles</groupId> <artifactId>org.apache.servicemix.bundles.javax-script-api</artifactId> <version>1.0_1</version> </dependency>
如果是Spring Boot 3+(基于Jakarta EE规范),也可以尝试Jakarta版本的API:
<dependency> <groupId>jakarta.script</groupId> <artifactId>jakarta.script-api</artifactId> <version>2.0.1</version> </dependency>
最后一步
修改配置后,执行mvn clean install刷新依赖,或者在IDE中触发Maven依赖刷新,重新编译项目即可。
内容的提问来源于stack exchange,提问作者LUKIEEEE
相关产品推荐
相关产品推荐

