• ベストアンサー

コンパイルできません

JAVAを勉強して3日です。 インストール・環境設定を行いましたが、コマンドでコンパイルできません。 すみません、教えてください。 コマンドプロンプトからファイルのあるフォルダへ移動し、javac HelloWorld.java を実行しました。 エラー内容は以下のとおりです。 java.lang.NullPointerException at java.util.Hashtable.put(Compiled Code) at java.util.zip.ZipFile.readCEN(Compiled Code) at java.util.zip.ZipFile.<init>(ZipFile.java:61) at java.util.zip.ZipFile.<init>(ZipFile.java:71) at sun.tools.java.ClassPath.<init>(Compiled Code) at sun.tools.javac.Main.compile(Compiled Code) at sun.tools.javac.Main.main(Main.java:465) 宜しくお願いします。

  • Java
  • 回答数12
  • ありがとう数4

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

  • ベストアンサー
回答No.10

ぼろパソでダウンロードしてきました。結論はあなたのソースコードでできました。 しかし、フォルダサイズとかが僕のとちがいます。 >j2sdk1.4.2_05というフォルダができました。 >フォルダのサイズは56.6MBです。 僕のは76.9MBになりました。 >ちなみにコントロールパネルからJAVA2 SDKを見る>とサイズは165MBです。 僕のは 「Java 2 Runtime Environment, SE v1.4.2_05」が137MB 「Java 2 SDK, SE v1.4.2_05」が427MBでした。 やはりサイズが質問者さんの方が小さいです。 インストールに失敗しているような気がするんですが。。 もし、お使いのOSを何年もつかっているようなら、OSが壊れている?かなと無責任に思っちゃったりします。。でも、OSの再インストールとかはやめた方が良いともおもいますが。。 これをインストールする前にJavaの統合環境(JBuilder)などをインストールしたならそれをアンインストールしなければなりませんし。。。そういうことがないのであれば、私はお手上げです。。すみません。 私も初心者~中級者の間くらいですので。。 もうちょっと詳しい人が現れるまで待つのが得策かもしれません。 お役にたてなくてすみません。GOOGLEとかでいろいろ検索もしたんですが、これといったものはみつかりませんでした。。。

tiyo722
質問者

補足

大変ありがとうございました。 会社のパソコンで別の言語を使っているため、 他にも色々とインストールしているせいなのかもしれません。 諦めようと思いましたが、 もう少しだけ待ってみようと思います。 このエラーでつまずかずもう少しがんばります。 本当にありがとうございました。

その他の回答 (11)

  • kacchann
  • ベストアンサー率58% (347/594)
回答No.12

<仮定> たとえばsdkをインストールしたフォルダが C:\j2sdk1.4.2_05 であるとして、その中のjavac.exeが C:\j2sdk1.4.2_05\bin\javac.exe の位置にあったとする。 <仮定おわり> ---------------------- HelloWorld.javaをコンパイルする際、 (コマンドプロンプト上で現在 HelloWorld.javaのあるディレクトリにいるものとして) javac HelloWorld.java のかわりに、次のコマンド C:\j2sdk1.4.2_05\bin\javac HelloWorld.java (つまり起動したいjavacを直接に指定する) を試してみては。 ---------------------- これでも同様のエラーメッセージが出力されるなら、 今度は、 C:\j2sdk1.4.2_05\bin\javac -classpath . HelloWorld.java を試してみるとか。

tiyo722
質問者

お礼

おおおおおおおお!! クラスファイルが作成されました。 起動するjavacを直接指定したら エラーが消えました。 本当にありがとうございました。

回答No.11

そういえば、ドライブの容量がたりないとへんてこな インストールになりますよ。。

回答No.9

余談ですが >JAVA 2 SDK,SW v1.42_05    427MB ??何のファイルだろう。。。 正規のJ2SDKは51.09 MBですよ。 きっとダウンロードするファイルが違うんだとおもいますよ。 最初はちゃんとしたファイルをインストールし、パスの設定だけきちんとすればよいので、難しく考えずにがんばってくださいね。 パスの設定とかがわからなかったら、ここで引き続き聞けばよいとおもいますよ。

回答No.8

#6#7です大変失礼しました ダウンロードするのは Windows Installation, Multi-language (j2sdk-1_4_2_05-windows-i586-p-iftw.exe, 356.00 KB) ではなく Windows Offline Installation, Multi-language (j2sdk-1_4_2_05-windows-i586-p.exe, 51.09 MB) です。

tiyo722
質問者

補足

j2sdk-1_4_2_05-windows-i586-p.exe をダウンロードしましたが、 やっぱりコマンドで実行すると 同じエラーが出現しました。 そしてインストールを行うとCドライブに j2sdk1.4.2_05というフォルダができました。 フォルダのサイズは56.6MBです。 ちなみにコントロールパネルからJAVA2 SDKを見るとサイズは165MBです。 宜しくお願いします。

回答No.7

#6です。 やはり、ダウンロードしてきたファイルが違う模様ですが。#6で貼ったURLから次ページでAcceptのラジオボタンにチェックをつけ、continueを押し その次のページで↓をクリックしてダウンロードしてください。 Windows Installation, Multi-language (j2sdk-1_4_2_05-windows-i586-p-iftw.exe, 356.00 KB) これをインストールし、パスを通せばOKなはずです。それだけで良いと思いますけど。。

回答No.6

まず1点。削除したといいますが、コントロールパネルの「アプリケーションの追加と削除」からJava関係のものを削除しましたか? もう1点。 #4さんの補足の欄にあった >JAVA 2 Runtime Environment,SE v1.42_05 137MB >JAVA 2 SDK,SW v1.42_05    427MB これがなんとなく気になるんですが、SDKの方だけインストールしてPATHを通せばそれでOKですよ。 下記のサイトから「J2SE SDK のダウンロード」をクリックしてダウンロードしてみてください。JREの方は不要です。

参考URL:
http://java.sun.com/j2se/1.4.2/ja/download.html
  • yamada46
  • ベストアンサー率39% (13/33)
回答No.5

ソースを提示していただければアドバイスできそうな気はしますが。

tiyo722
質問者

補足

すみません。 ソースはネット上のをコピーしたものです。 public class HelloWorld { public static void main( String args[] ) { System.out.println("Hello World!"); } } を「HelloWorld.java」で保存したものです。 お願いします。

  • kacchann
  • ベストアンサー率58% (347/594)
回答No.4

1.5でなく 1.4をインストールしてみるとか。 ちなみにOSは何かな?

tiyo722
質問者

補足

今、再インストールしました。 JAVA 2 Runtime Environment,SE v1.42_05 137MB JAVA 2 SDK,SW v1.42_05    427MB が入りました。 ちなみにOSはWin2000です。 お願いします。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.3

トレースログを見る限りでは、jarファイルかzipファイルの破損のため読み込みに失敗してますね。 再インストールしてみたほうがいいかも知れないですね。

tiyo722
質問者

補足

再インストールをしてみましたが、やはり 同じエラーが出てしまいました。 C:\Program Files\Java\jdk1.5.0\bin のフォルダにjavac.exeがあるので 上記をPATHへ追加したのですが・・・。

  • jun-1
  • ベストアンサー率29% (18/61)
回答No.2

恐らくコンパイラが壊れています。 JDKの再インストールをお勧めします。

関連するQ&A

  • jdk1.3で実行すると・・・

    jdk1.3でコンパイルし実行すると Exception in thread "main" java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:385) at java.awt.GridBagLayout.setConstraints(GridBagLayout.java:357) at rei008.<init>(rei008.java:144) at rei008.main(rei008.java:20) というメッセージが出てプログラムが実行できません。 なぜなんでしょうか?宜しくお願いします。

    • ベストアンサー
    • Java
  • javaに詳しい方に質問です

    javaに詳しい方に質問です 私が使っているパソコンはwindowXPで今BG.java , BG.html の2つのファイルがあります ブロック崩しのソースです コマンドプロンプト上で下記のように操作をしたら、(画面の貼り方がわからなく申し訳ありません) C:\j2sdk1.4.2_05\bin>javac BG.java C:\j2sdk1.4.2_05\bin>appletviewer BG.html Exception in thread "main" java.util.MissingResourceException: Can't find resour ce for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute .exception at java.util.ResourceBundle.getObject(ResourceBundle.java:314) at java.util.ResourceBundle.getObject(ResourceBundle.java:311) at java.util.ResourceBundle.getString(ResourceBundle.java:274) at sun.applet.AppletMessageHandler.getMessage(AppletMessageHandler.java: 39) at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:755) at sun.applet.AppletPanel.init(AppletPanel.java:190) at sun.applet.AppletViewer.<init>(AppletViewer.java:177) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:82) at sun.applet.AppletViewer.parse(AppletViewer.java:1122) at sun.applet.AppletViewer.parse(AppletViewer.java:1056) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80) というなんだかよくわからない表示がされて実行がされませんでした 本当ならプログラムを張り付けたかったのですが、文字数に制限があるし ダウンロード先を忘れてしまいまして… ということなので詳しいことは構わないので、この表示が何を表しているのか ご回答お願いします

    • ベストアンサー
    • Java
  • コンパイルができなくて悩んでいます!!!

    先程、サンマイクロシステム社のホームページから、jdk1.5.0_02のJDKをダウンロードしてインストールしたのですが、どうしてもコンパイルできません。 "MyJava.java"というデータを作成したフォルダに行き"javac MyJava.java"とコンパイルすると、 画面には Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main と表示されます。。。何回してもこのメッセージが出るのですが、私全くの初心者でどういう意味なのかわかりません。本当に困っています、なぜコンパイルが出来ないのか、また解決方法を教えてください。どうかお願いします。

    • ベストアンサー
    • Java
  • Linux上でjavaアプレットがブラウザ表示できません

    すごく初歩的なことかもしれないのですが、Linux上でjavaアプレットがを実行しようとすると下記のような予期しないエラーが表示されました。Linux上ではjavaアプレットはブラウザ(IE)に表示できないのでしょうか? もし、何か分かることがありましたら、ご教授御願いします。 ちなみにjavaアプリケーションは正常に実行できる環境です。 エラー内容: Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:1 26) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:130) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi ronment.java:62) at java.awt.Window.init(Window.java:208) at java.awt.Window.<init>(Window.java:252) at java.awt.Frame.<init>(Frame.java:398) at java.awt.Frame.<init>(Frame.java:363) at sun.applet.AppletViewer.<init>(AppletViewer.java:139) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:80) at sun.applet.AppletViewer.parse(AppletViewer.java:1062) at sun.applet.AppletViewer.parse(AppletViewer.java:996) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80)

    • ベストアンサー
    • Java
  • jarファイル実行でエラーがでます

    開発者でないので、詳細を教えてください。 バッチファイルで実行したいのですが、以下のコマンドを実行するとエラーがでます。 :>java -cp nedo.jar xxx.yyy.util.EmsChecker xception in thread "main" java.util.MissingResourceException: Can't find bundle for base name emschecker, locale ja_JP at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250) at java.util.ResourceBundle.getBundle(ResourceBundle.java:705) at nedo.eai.util.EmsChecker.<init>(EmsChecker.java:31) at nedo.eai.util.EmsChecker.main(EmsChecker.java:103) 開発担当者が不在なため、直接原因を確認する術がありません。 わかる範囲で構いませんので、教えてください。

    • ベストアンサー
    • Java
  • java にてコンパイルできない。

    java にてコンパイルできない。 javaにてコンパイルそのものができません。 下記がその状況です。 java>javac test.java Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac C:\java>set JAVA_HOME JAVA_HOME=C:\Program Files\Java\jdk1.5.0 ネットで調べてコンパネの環境設定でPATH、CLASSPATHの設定等は変更しました。 現在のところ上記の設定はJAVAのものしか入っておりません。 他のPCでは正常にコンパイル実行できますので文法の間違いはないものと思われます 何か考えられることはありますでしょうか

  • SunのJavaからMSのJavaにしかないクラスを利用したい

    初めて投稿させていただきます。 私は、EXEを作れる、DLLに触れるというメリットでMicrosoft SDK for Java 4.0を使っていたのですが、2007年にMicrosoftが完全にサポートを打ち切ってしまうことからSunのJDKに開発環境を移行しようと考えています。 そこで、MSが提供していた独自クラスをSunのJavaで使えないかと思って調べています。 具体的にはまず、MS Javaで使われているクラスファイルを吐き出すためにコマンドプロンプトで > clspack /auto として、classes.zipを作成しました。これをSunのJavaをコンパイルするときに > javac -cp C:?WINDOWS?Java?Classes?classes.zip hoge.java > javac -Xbootclasspath C:?WINDOWS?Java?Classes?classes.zip hoge.java とすると、コンパイルは通るのですが、 > java hoge > java -cp C:?WINDOWS?Java?Classes?classes.zip hoge > java -Xbootclasspath C:?WINDOWS?Java?Classes?classes.zip hoge 等として、実行しようとすると次のようなエラーが表示されてしまいます。 Exception in thread "main" java.lang.NoClassDefFoundError: com/ms/win32/User32 at hoge.main(hoge.java:4) Exception in thread "main" java.lang.NoClassDefFoundError: hoge Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/security/ProtectionDomain ちなみに、hoge.javaはMSのクラスが使えるかを確認するために作ったサンプルです。ソースコードは以下のような内容です。 import com.ms.win32.*; class hoge{  public static void main(String[] args){   User32.MessageBox(0,"Hello.","Java!!",0);  } } MSの提供しているクラスを使うことは出来ないのでしょうか?また、MS以外のものでデバイスにアクセスすることを可能にするクラスは提供されていないでしょうか?

  • eclipseからDBへの接続

    java:1.6.0_1、mysql:5.1、eclipse:3.5、jdbc:mysql-connector-java-5.1.10-bin.jarです。 エラーが MYSQLエラーコード:0 エラーメッセージ:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. SQLStateコード:08S01 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:781) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at chap2.DBConnect.main(DBConnect.java:13) Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137) ... 12 more Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:525) at java.net.Socket.connect(Socket.java:475) at java.net.Socket.<init>(Socket.java:372) at java.net.Socket.<init>(Socket.java:215) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292) ... 13 more 初心者でなにがだめか調べてもわかりません。 どなたかご指導おねがいします

  • コンパイルできない

    javaファイルをコンパイルしようとして コマンドを入力すると C:\java>javac file928.java 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となってしまいます・・・ SDKのインストール パスの設定は行っているのですが・・・ OSはXPのホームエディション/SP2です わかる方いらしたらよろしくお願いします

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

    コマンドプロンプトでjavacコマンドを入力すると 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません」 と出てエラーがでます。 javaコマンドは通るのですが、javacコマンドが通りません。 OSは「Vista」で PATHは「C:\Java\jdk1.6.0_10\bin」と追記しました。 何か間違っているでしょうか? 教えてください。お願いします。

専門家に質問してみよう