• 締切済み

Javaのクラスファイルの実行の仕方がわかりません

Bulletmorphというアプレットを http://www.asahi-net.or.jp/~cs8k-cYu/bulletml/bulletsmorph/bulletsmorph0_1.zip からダウンロードしたJavaコードを実行しようと $cd src/jp/gr/java_conf/abagames $javac util/*.java $javac bulletml/*.java $javac -cp ../../../.. bulletsmorph/*.java とコンパイルして $java -cp ../../../.. bulletsmorph/Bulletsmorph として実行しようとしたのですがメイン・クラスがないというエラーが出ました どのあたりをどのように直せばよいでしょうか

  • Java
  • 回答数1
  • ありがとう数6

みんなの回答

  • akhm528
  • ベストアンサー率62% (5/8)
回答No.1

ソースって見られてますか? zipを開いてないので予想で申し訳ないですが、メインクラスがない、 ということは、ソースの中にメインメソッドがないのでは? public static void main~ というメインメソッドがないと実行できません。 一度確認してみてくださいね。

aryuanother
質問者

補足

アプレットについて一度調べました どうやらappletviewerかappletタグ出ないと表示できないようです この場合は $appletviewer -cp ../../../.. bulletsmorph/Bulletsmorph とすればよいのでしょうか

関連するQ&A

  • Javaの実行について

    先日から学校でjavaを習いはじめました。 家でも自分でいろいろやってみたいと思うのですが。 本で書いてある、コンパイル・実行の方法がなぜか学校のと家のではとが違うようなのです。 本ではコンパイルは(ファイル名はHello.javaです) javac Hello.java なのに 学校では %JAVA HOME%\bin\javac Hello.java と入力しないとコンパイルされません。 しかしこれは家のPCでは上の方法で普通に出来ます。 実行は本では java Hello なのに 学校・家では java -cp . Hello と打たなければ実行することができません。 これはどうしてなのでしょうか? お願い致します。

    • ベストアンサー
    • Java
  • .javaのファイルがコンパイルできない

    .javaファイルをコンパイルしようと思いデスクトップ上にファイルを置きコマンドプロンプトでjavacコマンドを使用したところ Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; Sample016.java:15: シンボルを見つけられません。 などのエラーが出てしまいます。 どのような解決方法があるのでしょうか。 また、この問題の解決にjavaのファイルに入っていたsrc.zipは関係あるのでしょうか? src.zipを解凍したところjavaxなどが入っていたため何かに使うののだろうかと思ったのですが もうひとつ質問があるのですが、もしコンパイルすることができtomcatを使って動作を確認する時はROOT以下に.javaと.classを置いてjavaの方を呼び出せばいいのでしょうか? 急いで書いてしまったのでわかりにくいかもしれませんが、わかるかたいらっしゃいましたらよろしくお願いします。

  • 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以外のものでデバイスにアクセスすることを可能にするクラスは提供されていないでしょうか?

  • java 実行コマンドについて

    java の実行コマンドについての質問です。java実行コマンドでは実行したいファイルを相対パスで指定できないのでしょうか? 具体的には、 現在、実行したいプログラムは ~/program/sample/Test.class となっています。 カレントディレクトリは~/programで、次のようなコマンドを行いました。 ~/program$ java sample/Test すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/Test (wrongname: Test) という例外が出ました。 ~/program$ java -classpath sample Test を行えば実行できるのですが、java実行コマンドでは相対パスで実行ファイルを指定することはできないのでしょうか? (javacコマンドでは相対パスでコンパイルできる、つまりコンパイルしたいファイルが~/program/sample/Test.javaならば ~/program$ javac sample/Test.java でコンパイルできるので、これの類似でjavaコマンドでも相対パスで実行できるのではないかと考えたのですが。)

    • ベストアンサー
    • 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を勉強して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
  • LinuxでJAVAプログラムの実行のパスについて

    基本的な事とは思うのですが、うまく行かないので ご教授下さい。宜しくお願いします。 ローカルのWINDOWS(eclipse使用)でうまく行くのですが、 Linuxサーバ上でうまく実行できません。 階層は以下のように Aproject/bin/jp/co/hoge/aaa.class Aproject/src/jp/co/hoge/aaa.java Aproject/conf/xxx.prop とbin・src・confが同じレベルにあります。 aaa.java内でxxx.propを読み込む際、相対パスで"conf/xxx.prop" と指定してローカルではきちんと読み込めます。 aaa.javaのパッケージ宣言は package jp.co.hoge; となっていまして、linuxサーバ上で実行する時は、binをカレントで "java jp/co/hoge/aaa"としているので xxx.propを読み込むためには、"../conf/xxx.prop"としなければ ならず、どうしたら良いのかわからなくなってしまいました。 サーバ上で実行する時に今のようにbinをカレントに実行するのでは なく、その上のAprojectの階層をカレントに実行すれば、 パスは"conf/xxx.prop"でいいと思うのですが、 "java bin/co/hoge/aaa"としても実行できません。 どのようにして実行すればうまくパスをあわせる事ができる のでしょうか?? eclipseの設定がまずいのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • javaは実行できてjavacは実行できない

    現在Javacコマンドを使ってコンパイルしようとしているのですが、「内部コマンドまたは~」とでてコマンドが実行できません。 ただしjavaコマンドは実行できます。versionは1.6.0_27です。 以上ですがなにか気づいた点があれば、助言していただけると幸いです。

    • ベストアンサー
    • 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では正常にコンパイル実行できますので文法の間違いはないものと思われます 何か考えられることはありますでしょうか

  • コンパイルの実行の仕方

    初めてプログラミング言語を授業でとったのですが、 コンパイルの【実行】の仕方がわかりません。 まず、コマンドプロンプトを開くまではわかったのですが、 学校での説明に 「javaのコンパイラはjavacであるので、以下のように指定する。 javac <ソースファイル名> 」 と書いてありました。 コンパイラというのは上記の場合、コマンドプロンプトに 「C:\>javac *****.java」を入力すればコンパイルしたということになるのでしょうか? 「指定する」とかいてあっても指定の仕方すらわからないのです。 コンパイルを検索してもなかなかコンパイルをする意味がよくわからないので、よろしければ教えてください。