我想使用Java Flat File Parser(jffp),并尝试运行src文件中的TestCase(JUnit)“LineFormatTest”(在单击“test”文件后单击那里)。
我得到的是这个错误:
org.sadun.text.ffp.FieldDefinitionException:编程错误:
字段field_1_1(从位置0到位置5,长度5,类型
数字)和字段_1_1(从位置0到位置5,长度为5,键入
数字)相交
有没有人尝试运行此TestCase并偶然发现该错误?
最佳答案
我在使用jffp和JDK1.7时遇到了麻烦。我调查了资料来源,发现oracle对JDK1.7的TreeSet中使用的TreeMap进行了一点实现,因此jffp将字段定义添加到集合中,但是新的map实现将第一个元素的compare方法与自身和在比较器中实现的比较器实现了比较。 jffp包含检查字段元素的位置,如果位置相同,则抛出“编程异常”。如果您查看异常描述,您会发现它比较了相同的字段。
因此,如果您还使用jdk1.7,那么我看不到任何摆脱jffp或jdk1.7(返回1.6)的简便方法。