1

我有一个春季项目,它在 Eclipse 中运行良好。但是当我将它打包为一个可执行的 jar 文件并使用命令 java -jar jar-name 运行它时,它会报告以下异常。

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/c
ontext/ApplicationContext
Caused by: java.lang.ClassNotFoundException: org.springframework.context.Applica
tionContext
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: cloud.ras.alert.RASAlertApp. Program will exit.

即使我使用 springframework 路径设置类路径值,它仍然不起作用。谁能给我帮助?非常感谢。

4

2 回答 2

1

右键单击项目 -> 导出 -> 选择 Runnable Jar -> 在向导中单击下一步 -> 选择“将所需库复制到生成的 jar 旁边的子文件夹中,然后单击完成。

由于 jar 无法将您的相关 jar 找到为可运行的 jar,因此您面临此问题。

IMP:确保您使用的是 Eclipse JUNO。我不确定其他版本的 Eclipse

我使用的是 Eclipse Ganymede,它没有在向导页面中选择“库处理”选项的选项。

于 2014-01-07T09:29:14.553 回答
0

为什么不仔细检查你的类路径?您可以尝试将 jar 路径添加到您的命令中,如下所示: java -cp .;jar_path_spring -jar jar-name

于 2013-07-23T02:51:02.010 回答