1

奇妙なエラーが発生しましたが、発生しない場合もあります。

次のバージョンのJackson1.9.9とJacksonCSVData Formatter 1.9.4(jackson-dataformat-csv)で同じデータを使用すると、次のエラーが発生します。

java.lang.ArrayIndexOutOfBoundsException 
at java.lang.System.arraycopy(Native Method) 
at org.codehaus.jackson.util.TextBuffer.append(TextBuffer.java:458) 
at org.codehaus.jackson.io.SegmentedStringWriter.write(SegmentedStringWriter.java:69) 
at com.fasterxml.jackson.dataformat.csv.impl.CsvWriter._flushBuffer(CsvWriter.java:514) 
at com.fasterxml.jackson.dataformat.csv.impl.CsvWriter.endRow(CsvWriter.java:252) 
at com.fasterxml.jackson.dataformat.csv.CsvGenerator.finishRow(CsvGenerator.java:579) 
at com.fasterxml.jackson.dataformat.csv.CsvGenerator.close(CsvGenerator.java:277) 
at org.codehaus.jackson.map.ObjectMapper._configAndWriteValue(ObjectMapper.java:2584) 
at org.codehaus.jackson.map.ObjectMapper.writeValueAsString(ObjectMapper.java:2097) 

また、一部の列に二重コンマが表示されます。私の推測では、それはCsvGenerator内のバグです。

4

2 に答える 2

1

バグのようですね。ただし、1.9.xバージョンは実際には開発されていないため、可能であれば、Jackson 2.x(最新は2.1.1)のバージョンを使用することをお勧めします。

于 2012-12-01T01:23:37.200 に答える
0

pojoのプロパティ名を20未満に制限することで、ArrayIndexOutOfBound例外を回避できます。また、コードでDecimal Formatterを使用している場合は、例外が発生する可能性があります。1.9.4はバグがあり、2.0は間違いなくより良いバージョンです

于 2014-11-20T07:26:10.413 に答える