tifファイルからメタデータを抽出するときに上記のような問題があります。サイズは450MBを超えています。最新バージョン(0.97)のhttp://commons.apache.org/sanselan/ライブラリを使用して抽出していました。コードを実行すると:
String xmpMeta = null;
try {
xmpMeta = Sanselan.getXmpXml(file);
} catch ...
、次のスタックトレースを取得します。
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.apache.sanselan.common.byteSources.ByteSourceInputStream.readBlock(ByteSourceInputStream.java:65)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream.access$000(ByteSourceInputStream.java:24)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream$CacheBlock.getNext(ByteSourceInputStream.java:54)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream$CacheReadingInputStream.read(ByteSourceInputStream.java:147)
...
vmのXmsおよびXmxプロパティを増やしていて、それも失敗したことを認める必要がありますが、最終的には、より重い画像を解析できるため、このプロパティを増やすことに興味がありません。この問題のヘルプ、またはJPEG/Tifファイルからxmpメタデータを解析するために別のライブラリを参照していただければ幸いです。