java命令行,包括.jar

java命令行,包括.jar,java,command-line,jar,Java,Command Line,Jar,我能够使用: 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.ClassNotFoundExc

我能够使用:

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 runtime 1.6。

将当前目录也放入类路径:

java -cp .;mail.jar myFile

如果这不起作用,请发布
myFile.java
,这样我们就可以看到可能发生的情况。例如,
myFile
是否在默认包中,或者是否有
package
语句?

也将当前目录放入类路径:

java -cp .;mail.jar myFile

如果这不起作用,请发布
myFile.java
,这样我们就可以看到可能发生的情况。例如,默认包中是否有
myFile
,或者是否有
package
语句?

您需要执行以下操作之一:

  • 首先打包jar(使用
    jar
    命令)并使用
    java-jar

  • 不指定类路径,只运行类文件(独立应用程序)

  • (如果jarfile是一个库),则需要在类路径中包含当前目录


您需要执行以下操作之一:

  • 首先打包jar(使用
    jar
    命令)并使用
    java-jar

  • 不指定类路径,只运行类文件(独立应用程序)

  • (如果jarfile是一个库),则需要在类路径中包含当前目录


他必须指定一个类路径,因为(显然)他的应用程序依赖于
mail.jar
.Ah。嗯,老实说,我习惯于将自己的文件粘贴到另一个jarfile(minecraft)中:实际上,我将使用“exej”使其成为.exe。对于过期的帐户,他必须指定一个类路径,因为(显然)他的应用程序依赖于
mail.jar
.Ah。嗯,老实说,我习惯于将自己的文件粘贴到另一个jarfile(minecraft)中:实际上,我将使用“exej”使其成为.exe。如果这个问题解决了,记得接受这个答案。祝你好运如果这解决了问题,记得接受这个答案。祝你好运