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 回答