Vaadin项目Maven构建失败与Spring属性注入异常求助
问题1:Maven编译时Java版本不兼容错误
解决步骤
- 升级项目Java环境到17
- 打开IntelliJ的
File -> Project Structure,将Project SDK切换为Java 17,Project language level设置为17。 - 修改项目根目录下的
pom.xml,更新maven-compiler-plugin的配置,指定source和target版本为17:
- 打开IntelliJ的
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <target>17</target> </configuration> </plugin>
- 确保Maven使用Java 17执行
进入IntelliJ的Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner,将JRE选项改为Java 17,避免Maven用旧版本JDK运行。
问题2:Spring @Value占位符错误导致Bean创建失败
解决步骤
- 正确使用配置文件读取密钥(推荐方式)
- 在项目的
src/main/resources目录下找到application.properties(yml格式则是application.yml),添加密钥配置:
- 在项目的
webpush.public-key=你的实际公钥值 webpush.private-key=你的实际私钥值
- 在WebPushService类中通过@Value读取配置:
@Value("${webpush.public-key}") private String publicKey; @Value("${webpush.private-key}") private String privateKey;
- 硬编码赋值(仅临时测试用,不推荐)
如果不需要配置文件,直接去掉@Value的占位符写法,给变量直接赋值:
private String publicKey = "你的实际公钥值"; private String privateKey = "你的实际私钥值";
内容的提问来源于stack exchange,提问作者Suki
相关产品推荐
相关产品推荐

