
正文
java.util.TimeZone 新加方法 getTimeZone(ZoneId zoneId) 导致的问题
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
最近接受的项目中用spring配置了一个TimeZone对象:
<bean id ="timeZone4Job" class="java.util.TimeZone" factory-method="getTimeZone">
<constructor-arg value="GMT+8:00"/>
</bean>
以前是运行在 1.7 中,没什么问题。今天换了1.8的sdk,spring开始报错,发现原来在1.8里面新加入了方法 getTimeZone(ZoneId zoneId),spring会尝试转换GMT+8:00为ZoneId,而坑爹的是ZoneId.of(String zoneId) 支持的格式少,直接报错。
修改Spring配置如下,问题解决。
<bean id ="timeZone4Job" class="java.util.TimeZone" factory-method="getTimeZone">
<constructor-arg value="GMT+8:00" type="String"/>
</bean>






