【问题标题】:Classpath Wildcards - Class Not Found Java类路径通配符 - 找不到类 Java
【发布时间】:2014-08-21 06:10:17
【问题描述】:

通过命令提示符运行调度程序时,我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/quartz/ScheduleBu
ilder
Caused by: java.lang.ClassNotFoundException: org.quartz.ScheduleBuilder
        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: ScheduleEmail.  Program will exit.

即使添加了所有的 jar 文件,我也得到了以下内容。

Java 命令:java - cp .;E:/Jars/*; ScheduleEmail

谁能告诉我为什么会得到这个?

【问题讨论】:

  • 据我所知,通配符在类路径中不起作用。需要直接指定jar文件。
  • 你不能在你的类路径中使用通配符,你需要指定每个 Jar 文件...单独:)
  • 但我认为这是一个考虑因素,stackoverflow.com/questions/6069702/…
  • E:/Jars/* 不会将所有 jars 添加到类路径中。要么手动添加它们,要么创建一个脚本来构建基于类路径字符串的完整 jar 名称。

标签: java quartz-scheduler


【解决方案1】:

使用通配符时(在 Windows 平台上),您需要用引号将其括起来才能正常工作:

java -cp ".;E:/Jars/*;" ScheduleEmail

1。 http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

【讨论】:

    【解决方案2】:

    首先,确定是否有错别字,“-”和“cp”之间没有空格 其次,检查quarts jars是否在E:/Jars/

    【讨论】:

    • 如果在 - 和 cp 之间打错字,您会遇到不同类型的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 2022-07-30
    • 1970-01-01
    • 2012-07-21
    • 2012-06-06
    • 2020-07-25
    相关资源
    最近更新 更多