2016-02-23 47 views
0

我有一個程序在ECLIPSE中成功運行。但是,生成.jar文件並嘗試運行時會生成錯誤。部署Eclipse - 錯誤執行文件.jar - Spring批處理

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/batch/core/JobExecutionException 
      at java.lang.Class.getDeclaredMethods0(Native Method) 
      at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
      at java.lang.Class.privateGetMethodRecursive(Unknown Source) 
      at java.lang.Class.getMethod0(Unknown Source) 
      at java.lang.Class.getMethod(Unknown Source) 
      at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) 
      at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
    Caused by: java.lang.ClassNotFoundException: org.springframework.batch.core.JobExecutionException 
      at java.net.URLClassLoader.findClass(Unknown Source) 
      at java.lang.ClassLoader.loadClass(Unknown Source) 
      at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
      at java.lang.ClassLoader.loadClass(Unknown Source) 
      ... 7 more 

該類信息org/springframework/batch/core/它在項目中被引用。

enter image description here

任何想法如何解決?

+0

檢查您的jar文件的classapth。通過eclipse創建jar文件時有多個選項 – Shriram

回答

0

我很確定你需要使用spring-boot-maven-plugin並可能執行spring-boot:repackage的目標。你可能會做它只是使其.war文件,因爲這對我來說Spring Boot應用程序。可執行jar文件的問題Spring的風格是java不能從jar文件加載jar。還有其他非春季解決方案,例如,請參閱Classpath including JAR within a JAR,但您應該查看spring文檔以弄清楚。

參考:Packaging executable jar and war files

+0

謝謝。我設法解決。我把這個lib放在jar的根目錄下,並且通過命令通知並且工作得很漂亮。 – user3661384