gpt4 book ai didi

java - 如何在 cron 下运行 Java 程序并导入 jar

转载 作者:行者123 更新时间:2023-12-02 06:22:02 25 4
gpt4 key购买 nike

我的源文件是.../MyDir/proj/myProj.java。 jar 文件位于 .../MyDir/proj/library 下。 jar 文件来自 HTMLUnit 2.10 .

这是我的 cron 文件的来源:

0 0 * * * java -classpath .../MyDir/proj/ myProj

但它给了我错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/WebClient

如何修改 cron 文件以导入 jar 文件?

最佳答案

用java实现CRON Job非常简单

所需库:quartz-2.0.0.jar

调度程序发起者:

import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import java.text.ParseException;

import org.quartz.CronScheduleBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;

public class SchedulerListener{

static Scheduler scheduler = null;
public static void main(String[] args) {
// Setup the Job class and the Job group
JobDetail job = newJob(FileUploadToAzure.class).withIdentity(
"CronQuartzJob", "Group").build();

// Create a Trigger that fires every hour.
Trigger trigger;
try {
trigger = newTrigger()
.withIdentity("TriggerName", "Group")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 * * * ?"))
.build();

// Setup the Job and Trigger with Scheduler & schedule jobs
scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);

} catch (ParseException | SchedulerException e) {
e.printStackTrace();
}


}
}

调度程序类:

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class SchedulerJob implements Job {
@SuppressWarnings("unchecked")
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("Print at specific time");
}
}

CronTrigger

Expression  Meaning :
---------------------------
0 0 12 * * ? Fire at 12pm (noon) every day
0 15 10 ? * * Fire at 10:15am every day
0 15 10 * * ? Fire at 10:15am every day
0 15 10 * * ? * Fire at 10:15am every day
0 15 10 * * ? 2005 Fire at 10:15am every day during the year 2005
0 * 14 * * ? Fire every minute starting at 2pm and ending at 2:59pm, every day
0 0/5 14 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day

<强> More details about CRON Trigger, then please refer below link

http://www.askmani.net/question/crontrigger/

关于java - 如何在 cron 下运行 Java 程序并导入 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11840059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com