部署 Eclipse - 执行文件 .jar 时出错 - Spring 批处理
Deploy Eclipse - Error Executing file .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
项目中引用了class信息org/springframework/batch/core/
。
知道如何解决吗?
我很确定您需要使用 spring-boot-maven-plugin
并可能执行 spring-boot:repackage
目标。您可能会做得很好,只需将其设为 .war
文件,因为这对我的 Spring Boot
应用程序有效。可执行 jar 文件 Spring 样式的问题是 java 无法从 jar 文件加载 jar。还有其他非 spring 解决方案,例如,参见 Classpath including JAR within a JAR,但您应该查看 spring 文档来弄清楚。
我有一个程序 运行在 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
项目中引用了class信息org/springframework/batch/core/
。
知道如何解决吗?
我很确定您需要使用 spring-boot-maven-plugin
并可能执行 spring-boot:repackage
目标。您可能会做得很好,只需将其设为 .war
文件,因为这对我的 Spring Boot
应用程序有效。可执行 jar 文件 Spring 样式的问题是 java 无法从 jar 文件加载 jar。还有其他非 spring 解决方案,例如,参见 Classpath including JAR within a JAR,但您应该查看 spring 文档来弄清楚。