0

私は使用することができます:

C:\Program Files (x86)\Java>javac -classpath mail.jar myFile.java

コンパイルしますが、実行しようとすると:

C:\Program Files (x86)\Java>java -cp mail.jar myFile
Exception in thread "main" java.lang.NoClassDefFoundError: myFile
Caused by: java.lang.ClassNotFoundException: myFile
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: myFile.  Program will exit.

「。」を使っていろいろ組み合わせてみました。「-classpath」は、他の投稿が推測したが理解できなかったため、クラスパスを示します。基本的なhelloworld.javaをコンパイルして、同じフォルダーで正常に実行しました。管理者として実行しています。Javaランタイム1.6を使用します。

4

2 に答える 2

3

現在のディレクトリもクラスパスに入れます。

java -cp .;mail.jar myFile

それでも問題が解決しない場合は、myFile.java何が起こっているのかを確認できるように投稿してください。たとえばmyFile、デフォルトのパッケージに含まれていますか、それともpackageステートメントがありますか?

于 2012-05-15T23:28:06.447 に答える
1

次のいずれかを実行する必要があります。

  • 最初にjarをパックし(jarコマンドを使用)、java -jar

  • クラスパスを指定せずに、クラスファイルを実行するだけです(スタンドアロンアプリケーション)。

  • (jarfileがライブラリの場合)クラスパスに現在のディレクトリを含める必要があります

于 2012-05-15T23:29:28.160 に答える