• ベストアンサー

コンパイルできません

Javaのプログラムをコマンドプロンプトでコンパイルしようとしているんですが、プログラム中で画像データを byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39};のように記述しています。 そこで、コンパイルすると「このコードは64Kバイトを超えるサイズのメソッドの生成を必要とします。VirtualMachineは生成されるクラスファイルを拒否します。」と表示されてコンパイルできません。どうしたらいいのでしょうか?わかる方おられましたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

あるひとつのメソッドの内容が長すぎる、または多すぎるというエラーですね。 byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39}; がどれほど幅を利かせているかはわかりませんが、大きすぎるメソッドをコンパクトにまとめるとか、メソッドを分割するとかいったことが必要になると思います。 byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39}; が幅を利かせているのならば、いっそのこと画像データを別のファイル(GIFなど)に出してしまって、それをリソースとして取得したほうが賢いと思います。

mos21
質問者

補足

幅はかなり利かせていると思います。数字の量がはんぱではないです(^^; 以前やっていた人のプログラムを引き継いだのですが、以前の人はJDK1.2.2でコンパイルできていたというのです。それができないようになっています。またはじめから1.2.2をインストールすればいいのでしょうか?

その他の回答 (1)

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

データ部分を別ファイルとし、 そのデータを読み込むクラスやメソッドを追加する、 ていうのでどうでしょう。