• 締切済み

Eclipseでは実行できるのにコマンドラインではできません。

eclipse上で、別プロジェクト(のクラスを参照し、標準出力を行うクラスを作成しました。Eclipce上では、起動すると正常に実行できるのに、コマンドプロンプト上で実行すると、別プロジェクトのクラスがない (Exception in thread "main" java.lang.NoClassDefFoundError: "別プロジェクトの参照しているクラス") のエラーが出力されます。 たたいたコマンドは、 java -jar ××× .jar aaaaa ※classpathには参照するクラスフォルダおよびjarファイルを参照するように設定しています。 ※因みに、eclipseのbuild.xmlを実行してjarファイルは作成。正常に終了しました。 どなたか同じ現象で回避されてた方がいらっしゃいましたら、どうかご教授していただけたらと思います。 よろしくお願いいたします。

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

みんなの回答

noname#49428
noname#49428
回答No.1

考えられる原因は、 1.実行しようとしているクラスのclasspathが通っていない。 2.クラスのスペルが間違ってる 3.jarのなかにclassが入っていない じゃないでしょうか。 もう一度、よく確認してみて下さい。

lovely52
質問者

お礼

こんばんは。 回答ありがとうございます。 今日、早速試してみたところ、texjoyさんの仰るとおり、通しているパス名が誤っていました。情け無いやら、恥ずかしいやらです。 これからは気をつけて見ていこうと思います。 ありがとうございました。

関連するQ&A

  • 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
  • Eclipseで実行できてコマンドプロンプトで実行できない

    最近Windowsパソコンを購入して、Javaを勉強し始めているものです。昨日まではコマンドプロンプトでもjavaコマンドが実行できていたのですが、本日実行してみると、 Exception in thread "main"java.lang.NOClassDefFoundError: と出てきてしまいます。Eclipseではコンソール画面に結果が表示されるのですが、コマンドプロンプトではエラーになってしまいます。環境変数のPATHの設定も問題ないようなのですがどうしたらよいのでしょうか?

  • Eclipse+Javaで開発をしているのですが、

    Eclipse+Javaで開発をしているのですが、 現在プロジェクトAでjarを作成、 そのjarを参照する形でプロジェクトBの開発をしています。 そこでプロジェクトAでクラス名の変更を行ったのですが、 Eclipseのリファクタリング機能ではプロジェクトA内しかリファクタリングされませんでした。 プロジェクトBにも変更を反映させるにはどうすればいいですか? jarファイルがリファクタリングされた場合に自動的に対応する方法はあるのでしょうか?

    • ベストアンサー
    • Java
  • Eclipseがコンパイル、および実行時に吐くコマンドについて

    Eclipseがコンパイル、および実行時に吐くコマンドについて JAVA初心者です。 JAVAのプログラムを作成した際、 $javac hoge.java $java hoge 等とすると思います。 ここで質問なのですが、 ###############  質問  ################# Eclipseで実行のボタンをおしてJAVAプログラムをコンパイル、実行した場合に、Eclipseが吐くコマンドを確認するためにはどのようにすればよろしいでしょうか? ###################################### というのも、http://okwave.jp/qa/q5928481.htmlで質問させていただいたことについて、Eclipseだとうまく実行できたので、Eclipseが吐くコマンドが確認できれば「自分の打ち込んだコマンドのどこが誤っていたのか」を知るヒントになると考えたからです。 どなたか方法をご教授頂けないでしょうか。よろしくお願いします。

    • ベストアンサー
    • Java
  • Ecliplseでは動作するが、JARファイル実行時には動作しない

    Ecliplseでは動作するが、JARファイル実行時には動作しない WINDOWS(XP)環境にて、 JDK、ECLIPSE共に現在の最新のものを使用してゲームを作成しています。 (jdk1.6.0_21、Eclipse(Ver 3.6)) Eclipse上では実行すると正常に動作しますが、 File>EXPORT>JAVA>JAR fileを使用して、JARファイルを作成すると、 (エクスポート時のウィザード設定は全てデフォルト、 JARファイル保存先とmainクラスのみ指定) 作成したJARファイルは起動するだけで何も処理が始まりません。 (JARファイル自体は作成されるが、実行後フレームだけ表示される) エラーの切り分けなど、方法がわからないため、ここから先に進めないでいます。 例として何かエラーになりうる要素があるとすれば、御教授お願い致します。 また、フォルダ階層が下記のようになっている場合、 コマンドプロンプトからのjarファイル作成は どのようなコマンドになるのでしょうか。 御教授お願い致します。 /******************************************************************************* プロジェクトフォルダ    ?.settings        ?org.eclipse.jdt.core.prefs    ?bin        ?パッケージ名称              ?CLASSファイル、各材料(midi、wav、gif、png、jpg等)    ?src        ?パッケージ名称              ?JAVAファイル、各材料(midi、wav、gif、png、jpg等)    ?META-INF        ?.mfファイル    ?.classpathファイル    ?.projectファイル *******************************************************************************/

    • ベストアンサー
    • Java
  • eclipseで「サーバーで実行」表示が出る

    プロジェクト作成のとき (1)「tomcatプロジェクト」から作成する (2)サーブレットも「クラスを作成」から作成していく (3)JSPも「ファイル」から作成していく というやり方をして作ると「実行」を押しても Javaアプリケーションで実行というものしかでてきません 解説本をみると内容が古いのであらゆるものが現在のeclipseとことなってて 動かし方がわからずこんなことをしています

  • jarファイルをCLASSPATHを設定せずに実行

    eclipseでantを用いてjavaの開発を行っています JDBCを使用するために外部のjarファイルを利用しているのですがその外部のjarファイルを含めた形で一つのjarファイルに固めることは出来るのでしょうか? 具体的には >export CLASSPATH="/workspace/project/lib/bar.jar" >java -jar hoge.jar ではなく >java -jar hoge.jar だけで実行できるようにしたいと考えています

    • ベストアンサー
    • Java
  • コマンドプロンプト実行での文字コード

    Eclipseを使いUTF-8で作成したJARファイルをWindowsのコマンドプロンプトから起動するとShift-JISに勝手にエンコードされます。 強制的にUTF-8にできませんか? Eclipseで実行すると正常です。

    • ベストアンサー
    • Java
  • 実行環境によってクラスローダーが変わる!?

    Linuxのマシンで、eclipseで実行した場合と、実行可能なJARファイルを実行した場合で、使われるクラスローダーが変わってしまい、プログラムが正常に動作しません。 eclipseから実行した場合は、"sun.misc.Launcher$AppClassLoader"が使われ。 Exportした、Runnable JAR fileを、実行した場合は"java.net.URLClassLoader"が使われます。 JARの実行はシェルにて、下記のようにしています。  export JAVA_HOME=/・・・/jdk1.6.0_30  $JAVA_HOME/jre/bin/java -jar xxxx.jar ※JAVA_HOME、CLASSPATH設定は無い状態で、シェルを実行しています。 ※JAVA_HOMEをコメントアウトしても、状況は変わりませんでした。 eclipseでは、上記シェルのJAVA_HOMEで指定したものと、ビルドパスのライブラリに指定されたものが同じパスのものであることを確認しています。 JARで実行した場合も、"sun.misc.Launcher$AppClassLoader"が使われた欲しいのですが、どうすれば良いでしょうか。 クラスローダーについて、あまり知識がなくお助けいただけないでしょうか。よろしくお願いいたします。 補足 Windows環境では、Eclipse環境でもJAR環境でも"sun.misc.Launcher$AppClassLoader"が使われ正常に動作します。 蛇足 問題個所は、Java Persistence APIのeclipselink、org.eclipse.persistence.internal.jpa.deploymentパッケージのPersistenceUnitProcessor.javaで、クラスローダーのgetResourceを使っている個所です。

  • classファイルとJARファイルで実行した出力が異なる

    Javaのコマンドラインツールです。 CLASSファイルのままで実行 C:\> java -classpath .;mail.jar;activation.jar Mailx すると正常な出力が得られるプログラムをJARファイルにして C:\> jar xvf activation.jar C:\> jar xvf mail.jar C:\> jar cfm Mailx.jar Mailx.mf *.class com javax C:\> jar tvf Mailx.jar 実行 C:\>java -classpath Mailx.jar Mailx すると、正常な出力が得られなくなり、メールアドレスが出力されるはずが、メモリのアドレスのような値が出力  javax.mail.util.SharedByteArrayInputStream@1bf52a5 されるようになります。 なぜなのでしょうか? <Mailx.mf> Manifest-Version: 1.0 Main-Class: Mailx

専門家に質問してみよう