• ベストアンサー

コンパイルできません

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

  • mos21
  • お礼率46% (128/273)
  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • 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

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

関連するQ&A

  • コンパイル

    javaのソースコードをコンパイルしようとコマンドプロンプトで「javac MyJava.java」と入力してもまったく認識されないのですが、どうすればいいでしょうか?内容が少なくてすいません。

    • ベストアンサー
    • Java
  • Javaでコンパイルができません。

    Javaでコンパイルができません。 コマンドプロンプトで操作しています。 コマンドプロンプトでjavacと打つと… 'javac'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。 このように表示されてしまいます。 私にはなぜコンパイルができないのか分かりません。 分かる方がいたら、ぜひ教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaのコンパイル結果が表示されません

    はじめまして。 Javaのソースコードの文がコマンドプロンプトで表示されないことについて質問します。 正しいソースコードを記述してコンパイルしているはずなのですが、コマンドプロンプトでは何も表示されません。 たとえばMyJavaというファイルの中のtestfileというJavaファイルをコンパイルした場合、コマンドプロンプトでは c:\MyJava>javac testfile.java (空欄) c:\MyJava>javac testfile.java と表示されるだけで、本来ならば空欄の場所にSystem.out.println()の文が表示されるはずなのですが、表示されないのです。 よろしければ、原因を教えて頂けないでしょうか? お願いします。

    • ベストアンサー
    • Java
  • Javaのコンパイル(javac)

    初歩的なことを質問します。 Javaを勉強するためにJDKをインストールしました。 その後、練習ソースを記述しコマンドプロンプトでコンパイルをしたところ、 「'javac'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されてません」 とエラーが帰ってきました。 どうやったらコンパイルできるようになるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • JAVAコンパイルと実行

    はじめまして。質問があります。 eclipseで開発したjavaのソースを実行するとき、メニューからメインクラスを指定し実行するだけでプログラム実行されますが、そのプログラムをコマンドプロンプトで実行する場合、できるプログラムとできないプログラム(例外:NoClassDefFoundError)があります。 コンパイルはeclipceのほうで勝手に.classファイルが生成されるので、そのclassファイルをjava [ファイル名]と打つだけだと思います。 実行できるプログラムとできないプログラムの違いは以下の通りです。 ・実行できるプログラム eclipseで新規でプロジェクトを作成。その直下にソースが存在し、クラスファイルも同じディレクトリに生成されます。 ・実行できないプログラム eclipseで新規でプロジェクトを作成。ソースフォルダ(src)を作成し、その下からパッケージ、クラスを作成しました。そうすると、エクスプローラでそのプロジェクトを見ると、binフォルダが生成されていました。その中にクラスファイルが生成されます。 違いはこのような感じです。実行できないプログラムをコマンドプロンプトで実行させるためにはどうしたらよいでしょうか?eclipseの使い方はだいぶわかってきたのですが、どのように動作しているか(java自体も)がわかりません。ご教授宜しくお願い致します。 OS:windows2000 開発環境:eclipse 3.0(J2SE 1.4.2_03)

    • ベストアンサー
    • Java
  • Javaのコンパイル時間

    Javaのコンパイル時間 Javaのコンパイルの時間は1MBのソースコードでどれぐらいの時間ですか? いつも20kb程度のプログラムで、一瞬でコンパイルされてしまいます。 複雑なプログラムは何分かかりますか?

    • ベストアンサー
    • Java
  • JDKのコンパイル方法について・・・。

    今日JAVAの勉強をしようと思ってJAVAの入門書を購入しました。早速、収録されていたJDKvar1.3をインストールして本のまま設定を行いました。そしてプログラムをコマンドプロンプトからコンパイルしようと思ったのですが、「ディレクトリの指定が違います」と表示されてcドライブに作ったプログラムが入っているフォルダに移動できませんでした。 自分はコマンドプロンプトについて初心者です。類似した質問があるのか調べてみたんですが、読んで見てもいまいちよくわかりません。できればコマンドプロンプトを起動させてからのコマンドの入力の例を実際に教えていただけるとありがたいです。

    • ベストアンサー
    • Java
  • コマンドプロンプトが動いてくれません。

    javaの参考書を読みながら勉強しています。 本に記述されているコードをコマンドプロンプトで動かそうとしましたが、 コンパイルが出来ませんでした。 「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたは バッチファイルとして認識されていません。」と、メッセージが表示されます。 久しぶりにコマンドプロンプトを使いました。以前は正常に動いていました。 エクリプス上では動いているので、コードの記述には問題がないと思います。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • [Java]RMIのコンパイルエラー

    JAVA RMI をしています。 スタブとスケルトンを作成する為、rmicコンパイラを使用しようとするとエラーがでました。 手順は 1.コマンドプロンプトで、クラスファイルとソースファイルが存在するフォルダに移動 2.Remoteインターフェースを作成 3.Remoteオブジェクトを作成 4.2.と3.をコンパイル 5.rmicコマンドでコンパイル ***結果***************************************** rmic pack.RemoteObj error: クラス pack.RemoteObj が見つかりません。 ************************************************ こんな感じになります。 備考として... ・javaは1.4.1_01を使用しています ・コンパイルは通りました ・rmic.exeにパスは通ってます ・クラスファイルも生成されています ・packはパッケージです どこのサイトでも書かれている手順を踏みました。 他に何か原因として考えられることはあるでしょうか??

    • ベストアンサー
    • Java
  • Scannerクラスがコンパイルできません。

    自分のPCでCygwinをダウンロードし、javaのプログラムの作成ができるように設定しました。 Cygwinの機能はすべてダウンロードしました。 しかし、Scannerクラスが入っているプログラムをコンパイルしようとすると、 a.java:4: シンボルを解決できません。 シンボル: クラス Scanner 場所 : aa の クラス Scanner sc = new Scanner(System.in); のようにエラーが出てしまいます。 Cygwinではなくコマンドプロンプトでも同じことが起きます。 どうしたらコンパイルができるようになるでしょうか? 解決法をご存知の方いらっしゃいましたら教えてください。

専門家に質問してみよう