0

我正在使用 swing 和 spring 来创建一个桌面应用程序。一切进展顺利,但是当我使用 eclipse JUNO 创建 jar 时,尝试在 cmd上将其作为java -jar myjar.jar运行时出现此错误。不知道问题出在哪里,求大神帮忙?

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
        at efact.alfa1lab.nazca.jframe.NazcaLogin.<init>(NazcaLogin.java:145)
        at efact.alfa1lab.nazca.jframe.NazcaLogin$1.run(NazcaLogin.java:97)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        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)
        ... 16 more

这是我的文件夹结构

 - myclasses
 - images
 - lib
 - META-INF
 + MANIFEST.MF
   - applicationContext.xml
 - build.xml

这是我的所有弹簧罐的MANIFEST.MF,包括:spring-context-support-3.2.0.M1.jarspring-context-3.2.0.M1.jar

Manifest-Version: 1.0
Class-Path: lib/swingx-1.6.1.jar lib/spring-aop-3.2.0.M1.jar lib/spring-context-support-3.2.0.M1.jar lib/spring-context-3.2.0.M1.jar
  lib/javadbf-0.4.0.jar lib/log4j-1.2.16.jar lib/spring-asm-3.2.0.M1.jar lib/spring-beans-3.2.0.M1.jar  
  lib/spring-core-3.2.0.M1.jar lib/spring-expression-3.2.0.M1.jar lib/spring-orm-3.2.0.M1.jar
  lib/spring-oxm-3.2.0.M1.jar lib/spring-test-3.2.0.M1.jar lib/spring-tx-3.2.0.M1.jar lib/spring-web-3.2.0.M1.jar
  lib/spring-webmvc-3.0.5.RELEASE.jar lib/spring-webmvc-3.2.0.M1.jar lib/spring-ws-1.5.9-all.jar lib/troughoasis.jar 
  lib/commons-lang-2.3.jar lib/commons-logging-1.1.1.jar lib/concar.jar lib/ini4j-0.5.2-SNAPSHOT.jar
Main-Class: com.mycompany.MainClass
4

1 回答 1

0

中的Class-Path指令MANIFEST.MF没有按预期工作。我建议您将One-JAR与 Ant 或 Maven 结合使用,将您的应用程序及其所有依赖项打包到一个 JAR 中。我一直在使用这种方法,因为天知道有多久 - 完美无瑕。

于 2012-12-21T06:35:27.020 回答