尝试编译JODA时间2.1源时出现异常

时间:2012-09-26 16:41:40

标签: java jodatime

我需要在Joda时间支持SystemV个时区。就像在so answer中提到的那样,我在对SystemV数据文件中的行进行注释后尝试重新编译。但是在编译它时会给出这个异常:< / p>

 [java] Exception in thread "main" org.joda.time.IllegalFieldValueException: Value 292278995 for year must be in the range [-292275054,292278993]
     [java]     at org.joda.time.field.FieldUtils.verifyValueBounds(FieldUtils.java:217)
     [java]     at org.joda.time.chrono.BasicYearDateTimeField.set(BasicYearDateTimeField.java:82)
     [java]     at org.joda.time.chrono.BasicYearDateTimeField.add(BasicYearDateTimeField.java:63)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder$OfYear.next(DateTimeZoneBuilder.java:575)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder$Recurrence.next(DateTimeZoneBuilder.java:761)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder$Rule.next(DateTimeZoneBuilder.java:863)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder$RuleSet.nextTransition(DateTimeZoneBuilder.java:1091)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder$RuleSet.firstTransition(DateTimeZoneBuilder.java:1029)
     [java]     at org.joda.time.tz.DateTimeZoneBuilder.toDateTimeZone(DateTimeZoneBuilder.java:351)
     [java]     at org.joda.time.tz.ZoneInfoCompiler.compile(ZoneInfoCompiler.java:391)
     [java]     at org.joda.time.tz.ZoneInfoCompiler.main(ZoneInfoCompiler.java:136)

知道这是什么吗?

1 个答案:

答案 0 :(得分:0)

查看joda-time-2.1.jar/META-INF/MANIFEST.MF我们可以看到所需的JDK是
Build-Jdk: 1.5.0_22
所以,如果你使用它,请使用它。

你有不好的zoneinfo文件。我使用JDK 1.6_22构建joda lib而没有任何问题。

在构建过程中我们有下一步

main:
    [mkdir] Created dir: D:\js\target\classes\org\joda\time\tz\data
     [java] Writing zoneinfo files
     [java] Writing ZoneInfoMap
Executed tasks  

这里你的建筑失败了