【发布时间】:2014-02-13 12:08:18
【问题描述】:
原谅我是一个 Java 新手——我正在尝试使用 Quartz,但在运行基本教程时遇到了困难:
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
import static org.quartz.JobBuilder.*;
import static org.quartz.TriggerBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;
public class QuartzTest {
public static void main(String[] args) {
try {
// Grab the Scheduler instance from the Factory
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// and start it off
scheduler.start();
scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
似乎编译正常,但运行时出现以下错误:
Exception in thread "main" java.lang.VerifyError: verification failed at PC 1134 in org.quartz.impl.StdSchedulerFactory:instantiate(()Lorg.quartz.Scheduler;): String, int, or float constant expected
at _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib64/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib64/libgcj.so.5.0.0)
at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib64/libgcj.so.5.0.0)
at _Jv_PrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
at _Jv_WaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.5.0.0)
at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
at QuartzTest.main(java.lang.String[]) (Unknown Source)
我认为quartz.properties 文件不是问题(文档似乎表明这种基本的东西不需要它),但无论如何我都可以使用它,带有基本选项:
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
类路径中的 jars 包括:
libgcj-4.1.0.jar
quartz-2.2.1.jar
c3p0-0.9.1.1.jar
log4j-1.2.16.jar
quartz-jobs-2.2.1.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
有什么想法吗?
【问题讨论】:
-
有要求不能用oracle jdk代替GNU java吗?
-
试试这个链接,它工作正常,mkyong.com/java/quartz-scheduler-example
-
不,我选择了系统上安装的内容,而不是下载单独的 JDK。你认为它会用不同的版本来解决吗?
-
在 GCJ 中并非一切正常,请尝试
OpenJDK或 Oracle Java -
确实!谢谢,Oracle JDK 1.7 成功了。
标签: java quartz-scheduler