java - 创建的 JAR 中的 list 存在 ClassNotFoundException 问题

标签 java jar classnotfoundexception manifest.mf

我试图从我的源创建一个 JAR 文件,但是当我运行它时,我得到类未找到异常 - 它找不到主类,即使我在 MANIFEST.MF 文件中定义它。您能发现任何错误吗?

我的 JAR 结构:

META-INF/
META-INF/MANIFEST.MF
main/
main/java/
main/java/ThreadWatcher.java
main/java/WatcherObject.java
main/resources/
main/resources/WatcherObjectType.java
main/resources/TLogger.java
main/resources/DataProvider.java
main/resources/WatcherObjectStatus.java
main/resources/SettingsProvider.java

main/java/WatcherObject.java 包含 main 方法。

我的 MANIFEST.MF:

Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-Class: main.java.ThreadWatcher

当我运行它时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: main/java/ThreadWatcher
Caused by: java.lang.ClassNotFoundException: main.java.ThreadWatcher
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: main.java.ThreadWatcher. Program will exit.

感谢您的帮助!

最佳答案

问题很可能是您包含了 java 源文件,而不是编译后的类文件。当您加载类时,JVM 默认情况下会查找具有给定名称的类文件并尝试加载它。由于您没有任何类文件,因此无法加载该类。

关于java - 创建的 JAR 中的 list 存在 ClassNotFoundException 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16338363/

相关文章:

java - 将 Spark DF 过滤到仅具有 2 位小数的列,而不使用舍入/下限

java - WS 发送生成的 xml 中的 multiRef

java - 报错找不到主类程序netbeans后会退出

java - 如何将 Android 库项目转换为外部 JAR?

java - 使用 HTML 嵌入 jar 时出现 Classnotfound 异常

安卓 : app loading library at runtime on Lollipop but not IceCreamSandwich

java - 从内部类访问变量 - 出现空指针异常

java - JPanel 中没有显示矩形

android - 如何链接 Ant 中的外部 jar?

java.lang.NoClassDefFoundError : Lorg/apache/logging/log4j/Logger; but the artifact exists 错误