首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:无法找到或加载具有许多外部JARS和Quartz调度的主类Java

错误:无法找到或加载具有许多外部JARS和Quartz调度的主类Java
EN

Stack Overflow用户
提问于 2016-06-30 23:11:32
回答 1查看 234关注 0票数 0

我试图让我的java程序在给定的计算机上后台运行,但我总是得到那个乏味的java错误。我一直在使用eclipse进行开发,我所在的目录是

代码语言:javascript
运行
复制
C:\Users\clind_Site2\workspace\GoldenSheetHelper\src\GSH

当我在这个目录中运行dir时,我可以看到

代码语言:javascript
运行
复制
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设置了路径,所以我知道这不可能是问题所在。我跑步

代码语言:javascript
运行
复制
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

以便编译,并且它可以工作。我跑步

代码语言:javascript
运行
复制
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 {

代码语言:javascript
运行
复制
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();
      }
   }

这跟石英有什么关系吗?我是个新手,对它了解不多。但我完全被难住了,在网上搜索也找不到任何东西。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-07-01 00:42:41

好的,我知道了。多亏了@jan.supol (参见注释),我意识到在命令提示符下我应该像运行主类一样运行包。例如:

代码语言:javascript
运行
复制
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 ..)并在那里运行它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38127157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档