部署Eclipse - 错误执行文件.jar - Spring Batch

时间:2016-02-23 10:52:07

标签: java eclipse jar spring-batch

我有一个程序在ECLIPSE中成功运行。但是当生成.jar文件并尝试运行它时会产生错误。

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

知道如何解决?

1 个答案:

答案 0 :(得分:0)

我非常确定您需要使用spring-boot-maven-plugin并可能执行spring-boot:repackage目标。你可能会把它变成一个.war文件,因为这对我来说是一个Spring Boot应用程序。可执行jar文件的问题Spring样式是java无法从jar文件加载jar。还有其他非弹簧解决方案,例如,Classpath including JAR within a JAR,但你应该通过弹簧文档来了解它。

参考:Packaging executable jar and war files