我在 Ubuntu 12.04 上使用 Eclipse 3.7。
我在文件夹中的某个 Eclipse 项目中有五个 .java 文件src
。项目文件夹(除了bin
和文件夹)、文件和lib
文件以及某些输入文件。src
help
properties
我需要.jar
使用 java 文件创建一个文件,并使其可以从命令行执行,以及作为参数的属性文件。
例如 :
java -jar <jar-file-name>.jar -info file.properties
我使用 Eclipse 将项目作为.jar
文件导出到bin
文件夹中。
我将所有输入文件、properties
文件和help
文件复制到dist
文件夹中并运行命令。
我有一个错误说
Failed to load Main-Class manifest attribute from jar
然后我检查了这个答案并做了必要的(用一行创建了清单文件)并运行了
jar cfm <jar-file-name>.jar <manifest-file-name> ./bin/*.class
它没有用,并抛出了一个ClassNotFoundException
.
任何帮助,将不胜感激。
编辑
我在导出 .jar 时通过选择“下一步”而不是“完成”来添加主类。现在,在执行它时,它为 mysql 连接器 jar 抛出了一个“ClassNotFoundException”。即使它包含在制作 jar 时添加的 lib 文件夹中。
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
第二次编辑
相关输出。
java -cp ./lib/* -jar <non-runnable-jar>.jar -info info.properties
哪里./lib/
有所有依赖的罐子。
它给出了这个错误:
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at polygonprobability.Model.readTestingData(Model.java:178)
at polygonprobability.Model.<init>(Model.java:136)
at polygonprobability.Info.getModel(Main.java:290)
at polygonprobability.Main.loadInfo(Main.java:138)
at polygonprobability.Main.operInfo(Main.java:61)
at polygonprobability.Main.distribute(Main.java:170)
at polygonprobability.Main.parse(Main.java:81)
at polygonprobability.Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
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)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at polygonprobability.DatabaseConnect.authorizeSQL(DatabaseConnect.java:50)
at polygonprobability.Model.readTestingData(Model.java:157)
... 7 more
为了
java -cp /lib* -jar <non-runnable>.jar <packagename>.Main -info info.properties
它给出了这个错误
Exception in thread "main" java.lang.NoClassDefFoundError: /lib64
Caused by: java.lang.ClassNotFoundException: .lib64
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
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: /lib64. Program will exit.