NoClassDefFoundError:无法初始化类java.time.LocalDateTime $ 1

时间:2016-09-16 16:59:11

标签: java

我正在使用jdk 1.8_102。

这是堆栈跟踪:

java.lang.NoClassDefFoundError: Could not initialize class java.time.LocalDateTime$1
    at java.time.LocalDateTime.plus(LocalDateTime.java:1185)
    at java.time.OffsetDateTime.plus(OffsetDateTime.java:1190)
    at java.time.OffsetDateTime.plus(OffsetDateTime.java:128)
    at java.time.Duration.addTo(Duration.java:1070)
    at java.time.OffsetDateTime.plus(OffsetDateTime.java:1159)
    at com.windlogics.commons.pi.operators.DstCompensatingSupport.getNextTimeStamp(DstCompensatingSupport.java:37)

当我从Eclipse运行或通过maven安装时,我得到了这个。

这是堆栈跟踪底部的代码:

private Duration interval;

public OffsetDateTime getNextTimeStamp(OffsetDateTime current) {
    return current.plus(interval);
}

使用Duration.ofMinutes(20)初始化持续时间。

参数初始化为OffsetDateTime.parse(“2014-11-02T04:00:00Z”),然后通过调用getNextTimeStamp方法进行更新。

1 个答案:

答案 0 :(得分:0)

我不知道为什么这个堆栈跟踪出现了但是我发现我最近引入了一些无意的递归(奇怪的是没有出现在堆栈跟踪中)。一旦我摆脱了递归,这个问题就消失了。我怀疑递归可能会将我的时间戳值推到java.time喜欢处理的极限吗?

如果有人知道这是怎么发生或者为什么会发生这种情况,我会稍微公开一下。