2016-06-30 16 views
0

Ich versuche, mein Java-Programm auf dem gegebenen Computer im Hintergrund ausgeführt zu bekommen, aber ich bekomme diesen bland-Java-Fehler. Ich habe Eclipse wurde mit entwickeln und das Verzeichnis in dem ich mich istFehler: Konnte Java-Hauptklasse mit vielen externen JARS- und Quartz-Scheduling nicht finden oder laden

C:\Users\clind_Site2\workspace\GoldenSheetHelper\src\GSH 

Wenn ich dir in diesem Verzeichnis ausführen kann ich sehen,

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 

ich den Weg für das JDK gesetzt haben, damit ich weiß, dass kann nicht das Problem sein. Ich rufe

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 

um zu kompilieren und es funktioniert. Ich betreibe

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 

Ich weiß, dass wenn ich sage, ich will dies im Hintergrund laufen zu lassen ich javaw sollte, aber ich möchte nur sicherstellen, dass es funktioniert zuerst.

Er ist mein Code der Haupt ich anrufen möchten:

public class 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(); 
     } 
    } 

Ist das etwas mit Quarz zu tun? Ich bin neu und weiß nicht viel darüber. Aber ich bin völlig ratlos und kann nichts finden, wenn ich online suche.

Vielen Dank im Voraus!

+1

so ProgramScheduler ist in keinem Paket? –

+0

Korrigieren Sie es ist die Klasse. GSH ist das Paket – CodeRed

+1

, also müssen Sie wahrscheinlich 'java ... GSH.ProgramScheduler' verwenden. Beachten Sie jedoch die [Namenskonvention] (https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html). –

Antwort

0

Ok ich habe es. Dank @ Janol (siehe Kommentare) habe ich festgestellt, dass ich in der Eingabeaufforderung das Paket sowie die Hauptklasse ausführen sollte. EX:

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 

Im Grunde hatte ich (cd ..) zu bewegen zurück und führen Sie es dort

Verwandte Themen