Jestem początkujący w Spring Batch. Postępuję zgodnie z tym guide, aby utworzyć HelloWorld of Spring Batch. W klasie metodą głównego kiedy próbuje uzyskać kontekstu aplikacji za pomocą new ClassPathXmlApplicationContext("...")
, IDE pokazuje komunikat o błędzieJak rozwiązać problem "Nieobsługiwany wyjątek typu BeansException"
Unhandled typ wyjątku BeansException
nie mogę rozwiązać ten błąd chociaż mam blok catch, który przechwytuje wszystkie typy wyjątków. Zapoznaj się z bloku kodu poniżej:
public static void main(String args[]) {
try {
//error message appears here
AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext("simpleJob.xml");
JobParametersBuilder builder = new JobParametersBuilder();
builder.addString("Date", "12/02/2011");
jobLauncher.run(job, builder.toJobParameters());
JobExecution jobExecution = jobRepository.getLastJobExecution(job.getName(), builder.toJobParameters());
System.out.println(jobExecution.toString());
}
catch(Exception e) {
e.printStackTrace();
}
}
Następnie próbowałem go rozwiązać przez import org.springframework.beans.BeansException;
i próbował złapać BeansException
. Chociaż nieobsługiwany błąd BeansException został rozwiązany, ale pojawił się kolejny komunikat o błędzie:
Nie można wykluczyć wyjątku typu BeansException; typ wyjątku musi być podklasą Throwable
Patrz bloku kodu poniżej:
public static void main(String args[]) {
try {
AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext("simpleJob.xml");
JobParametersBuilder builder = new JobParametersBuilder();
builder.addString("Date", "12/02/2011");
jobLauncher.run(job, builder.toJobParameters());
JobExecution jobExecution = jobRepository.getLastJobExecution(job.getName(), builder.toJobParameters());
System.out.println(jobExecution.toString());
}
//error message appears here
catch(BeansException e) {
//do something
}
catch(Exception e) {
e.printStackTrace();
}
}
Co to jest poprawny sposób, aby rozwiązać ten problem?
Uwaga dodatkowa: Nie mam własnej klasy o nazwie BeansException.
Edit: Ślad stosu (postępować z możliwością błędu):
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No exception of type BeansException can be thrown; an exception type must be a subclass of Throwable
at SpringBatchHelloWorld.BatchLauncher.main(BatchLauncher.java:29)
Sprawdź, czy masz coś takiego jak 'wiosny podstawowej 4.2.4.RELEASE .jar' na ścieżce zajęć. Oczywiście, musi być twoja prawdziwa wersja zamiast '4.2.4'. –
Mam spring-batch-core-3.0.6.RELEASE.jar; spring-batch-infrastructure-2.2.0.RELEASE.jar; wiosna-kontekst-4.2.4.RELEASE.jar; spring-beans-4.2.4.RELEASE.jar. Uwaga: mogę zaimportować tylko pliki 'org.springframework.beans.BeansException' po tym, jak dodałem spring-beans-4.2.4.RELEASE.jar – karansky
czy muszę dołączyć spring-core-4.2.4.RELEASE.jar? – karansky