我试图让我的java程序在给定的计算机上后台运行,但我总是得到那个乏味的java错误。我一直在使用eclipse进行开发,我所在的目录是
C:\Users\clind_Site2\workspace\GoldenSheetHelper\src\GSH当我在这个目录中运行dir时,我可以看到
06/29/2016 01:18 PM <DIR> .
06/29/2016 01:18 PM <DIR> ..
06/30/2016 10:38 AM 1,162 ADObject.class
06/09/2016 10:35 AM 950 ADObject.java
06/30/2016 10:38 AM 8,572 BillingReport.class
06/30/2016 09:39 AM 10,040 BillingReport.java
06/30/2016 10:38 AM 791 CustomerObject.class
06/15/2016 10:24 AM 546 CustomerObject.java
06/30/2016 10:38 AM 4,353 HistoryReportBuilder.class
06/30/2016 09:39 AM 6,136 HistoryReportBuilder.java
06/30/2016 10:38 AM 7,093 MonthlyReportBuilder.class
06/30/2016 09:39 AM 8,196 MonthlyReportBuilder.java
06/30/2016 10:38 AM 5,183 ProgramMain.class
06/30/2016 09:34 AM 7,508 ProgramMain.java
06/30/2016 10:38 AM 2,085 ProgramScheduler.class
06/30/2016 10:33 AM 3,135 ProgramScheduler.java
06/30/2016 10:38 AM 6,316 SQLConnection.class
06/28/2016 02:19 PM 6,738 SQLConnection.java
06/30/2016 10:38 AM 844 UserObject.class
06/22/2016 11:33 AM 549 UserObject.java
18 File(s) 80,197 bytes
2 Dir(s) 53,912,338,432 bytes free我已经为jdk设置了路径,所以我知道这不可能是问题所在。我跑步
javac -cp C:\Users\clind_Site2\mark\Microsoft_JDBC_Driver_6.0_for_SQL_Server\sqljdbc_6.0\enu\sqljdbc42.jar;C:\Users\clind_Site2\mark\jtds\jtds-1.3.1.jar;C:\Users\clind_Site2\mark\quartz-2.2.0.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-api-1.7.21.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-simple-1.7.21.jar *.java以便编译,并且它可以工作。我跑步
java -cp .;C:\Users\clind_Site2\mark\Microsoft_JDBC_Driver_6.0_for_SQL_Server\sqljdbc_6.0\enu\sqljdbc4.jar;C:\Users\clind_Site2\mark\jtds\jtds-1.3.1.jar;C:\Users\clind_Site2\mark\quartz2.2.0.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-api-1.7.21.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-simple-1.7.21.jar ProgramScheduler
Error: Could not find or load main class ProgramScheduler我意识到,当我说我想在后台运行这段代码时,我应该使用javaw,但我只是想确保它首先工作。
他是我的主要代码,我想打电话给他:
公共类ProgramScheduler {
public static void main(String[] args) {
try {
// specify the job' s details..
JobDetail job = JobBuilder.newJob(ProgramMain.class)
.withIdentity("mainJob")
.build();
//Retrieve new Data at 1:00am everyday
CronTrigger cronTrigger1 = TriggerBuilder.newTrigger()
.withIdentity("crontrigger1","crontriggergroup1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 1 * * *"))
.build();
//Build Monthly Reports...
JobDetail monthlyReport = JobBuilder.newJob(MonthlyReportBuilder.class)
.withIdentity("monthlyJob")
.build();
//On the first of each month at 12:00am
CronTrigger cronTrigger2 = TriggerBuilder.newTrigger()
.withIdentity("crontrigger2","crontriggergroup2")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 1 * * *"))
.build();
//Build Monthly billing Report(Like one created from export button)...
JobDetail billingReport = JobBuilder.newJob(BillingReport.class)
.withIdentity("monthlyBilling")
.build();
//On the first of each month at 12:02am
CronTrigger cronTrigger3 = TriggerBuilder.newTrigger()
.withIdentity("crontrigger3","crontriggergroup3")
.withSchedule(CronScheduleBuilder.cronSchedule("0 2 0 1 * * *"))
.build();
//Build Monthly History Report(Like one created from export button)...
JobDetail historyReport = JobBuilder.newJob(HistoryReportBuilder.class)
.withIdentity("monthlyHistory")
.build();
//On the first of each month at 12:04am
CronTrigger cronTrigger4 = TriggerBuilder.newTrigger()
.withIdentity("crontrigger4","crontriggergroup4")
.withSchedule(CronScheduleBuilder.cronSchedule("0 4 0 1 * * *"))
.build();
//schedule the jobs
SchedulerFactory schFactory = new StdSchedulerFactory();
Scheduler sch = schFactory.getScheduler();
sch.start();
sch.scheduleJob(job, cronTrigger1);
sch.scheduleJob(monthlyReport, cronTrigger2);
sch.scheduleJob(billingReport, cronTrigger3);
sch.scheduleJob(historyReport, cronTrigger4);
} catch (SchedulerException e) {
e.printStackTrace();
}
}这跟石英有什么关系吗?我是个新手,对它了解不多。但我完全被难住了,在网上搜索也找不到任何东西。
提前感谢!
发布于 2016-07-01 00:42:41
好的,我知道了。多亏了@jan.supol (参见注释),我意识到在命令提示符下我应该像运行主类一样运行包。例如:
C:\Users\clind_Site2\workspace\GoldenSheetHelper\src>java -cp .;C:\Users\clind_Site2\mark\Microsoft_JDBC_Driver_6.0_for_SQL_Server\sqljdbc_6.0\enu\sqljdbc42.jar;C:\Users\clind_Site2\mark\jtds\jtds1.3.1.jar;C:\Users\clind_Site2\mark\quartz-2.2.0.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-api-1.7.21.jar;C:\Users\clind_Site2\mark\slf4j-1.7.21\slf4j-simple-1.7.21.jar GSH.ProgramScheduler基本上我不得不搬回去(cd ..)并在那里运行它
https://stackoverflow.com/questions/38127157
复制相似问题