4

ant- を使用して gwtp+mgwt アプリをビルドしようとすると、これらのエラーがたくさん発生します。

メソッド tabBarMoreImage の準備
     [java] [エラー] イメージ バンドルの書き込み中にエラーが発生しました。
     [java] javax.imageio.IIOException: 出力ストリームを作成できません!
     [Java] javax.imageio.ImageIO.write(ImageIO.java:1560) で

...
  メソッド tabBarMostRecentImage を準備しています
     [java] [エラー] イメージ バンドルの書き込み中にエラーが発生しました。
     [java] javax.imageio.IIOException: 出力ストリームを作成できません!
...
 [java] 原因: javax.imageio.IIOException: キャッシュ ファイルを作成できません!
     [Java] javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:397) で
     [Java] javax.imageio.ImageIO.write(ImageIO.java:1558) で
     [ジャワ] ... 33以上
     [java] 原因: java.io.IOException: 開いているファイルが多すぎます
     [java] at java.io.UnixFileSystem.createFileExclusively(ネイティブメソッド)
     [Java] java.io.File.checkAndCreate(File.java:1704) で
     [Java] java.io.File.createTempFile (File.java:1792) で
     [Java] javax.imageio.stream.FileCacheImageOutputStream.(FileCacheImageOutputStream.java:71) で
     [Java] com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:50) で
     [Java] javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:393) で
     [ジャワ] ... 34以上
     [java] getButtonBarArrowDownImage メソッドの準備
     [java] [エラー] イメージ バンドルの書き込み中にエラーが発生しました。
     [java] javax.imageio.IIOException: 出力ストリームを作成できません!
     [Java] javax.imageio.ImageIO.write(ImageIO.java:1560) で
     [Java] com.google.gwt.resources.rg.ImageBundleBuilder.createImageBytes(ImageBundleBuilder.java:558) で
     [Java] com.google.gwt.resources.rg.ImageBundleBuilder.toPng(ImageBundleBuilder.java:544) で
...

アプリケーションは開発モードで正常に動作します。何か案は?

4

2 に答える 2

2

GWT コンパイラがファイル記述子をリークしている可能性があります (したがって、「開いているファイルが多すぎます」という例外が発生します)。ユーザーごとに開いているファイルの数が制限されている環境にいる可能性があります (これは自分のマシンですか)。

ですべてのユーザー制限を確認しますulimit -a

を使用して、開いているファイルの制限を増やすことができますulimit -Hn <number>。これは、少なくとも診断に役立つはずです。

于 2012-08-25T02:24:27.663 に答える
1

まったく同じ問題(およびエラーメッセージ)がありました。

Googleグループ(GWT)のこのスレッドで解決策を見つけました
私はLinuxを使用しています(それがあなたの場合かどうかわかりません)

/etc/security/limits.conf に追加しました

* soft nofile 65535
* hard nofile 65535

新しい設定を適用するには、ログアウトしてから再度ログインします。

于 2012-10-24T08:27:08.900 に答える