2016-02-23 49 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