我必须创建一个JAR文件(不使用任何IDE)
那就是我在做什么:
我有一个名为Project的文件夹,这是主要文件夹,在这个文件夹中,我有两个文件夹和一个pdf文件.
一个名为ClassFiles的文件,包含我项目的所有“ .class”文件
另一个名为JavaFiles的文件包含所有“ .java”文件.
该文件是我必须包括的一个关系,尽管没有任何关系,它称为Info.pdf.
我的错误是这样的:
我的主类(是多余的,我的意思是开始的类,带有“ public static void main(String [] args)”)被称为Main
我正在使用的命令行是:
jar -cfe Project.jar ClassFiles.Main JavaFiles ClassFiles INFO.pdf
我收到错误找不到主类:ClassFiles.Main.程序将会退出
PS:在ClassFiles文件夹中,我有很多classname $1,classname $2文件.我不知道这是否相关.我什至拥有Main和另一个Main $1.
我明天需要给这个JAR,所以我很绝望.
先感谢您!
Exception in thread "main" java.lang.NoClassDefFoundError: ClassFiles/Main (wrong name: Main)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ClassFiles.Main. Program will exit
@erikson:
ClassFiles只是我制作的包含所有.class的文件夹,仅此而已…我所做的工作没有任何包(当我使用Eclipse时,它是默认包)
// @戴夫·牛顿:对不起,(首先谢谢你),你能具体一点吗?我不明白我该怎么办.我对这个东西不是很好
嗯,如果您的意思是说该包不叫Project,但是Progetto只是因为我用英语翻译了.不确定这是否也是您所指的.
我在ClassFiles目录中有Main.class,在JavaFiles目录中有Main.java
那正是我所做的,结果:
ascal @ AscaL?/ Desktop / Progetto $jar -cfe Progetto.jar ClassFiles.Main ClassFiles JavaFiles Info.pdf
ascal @ AscaL?/ Desktop / Progetto $java -jar Progetto.jar
线程“主”中的异常java.lang.NoClassDefFoundError:ClassFiles / Main(错误名称:Main)
????在java.lang.ClassLoader.defineClass1(本机方法)
????在java.lang.ClassLoader.defineClass(ClassLoader.java:634)
????在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
????在java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
????在java.net.URLClassLoader.access $000(URLClassLoader.java:73)
????在java.net.URLClassLoader $1.run(URLClassLoader.java:212)
????在java.security.AccessController.doPrivileged(本机方法)
????在java.net.URLClassLoader.findClass(URLClassLoader.java:205)
????在java.lang.ClassLoader.loadClass(ClassLoader.java:321)
????在sun.misc.Launcher $AppClassLoader.loadClass(Launcher.java:294)
????在java.lang.ClassLoader.loadClass(ClassLoader.java:266)
找不到主类:ClassFiles.Main.程序将会退出.
//Main.java代码