2

当我尝试使用某个类时,例如 Layout,在swt.jarcmd 中它抱怨我没有它,这是消息错误:

线程“主”java.lang.NoClassDefFoundError 中的异常:org/eclipse/swt/widgets/Layout

奇怪的是,swt.jar\ext目录中,我的 CLASSPATH 是C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext

当我在 Eclipse 中创建一个新项目时没有问题,从这个 jar 中导入的所有内容都可以正常工作,但是在 cmd 上我收到了这个错误。

请帮帮我!

4

2 回答 2

3

您正在学习一个艰难的教训:IDE(包括 Eclipse)和 Java EE 应用程序服务器(如 Tomcat)不注意任何环境变量(如 CLASSPATH)。

我认为像 swt.jar 这样的 JAR 不属于 jre/lib/ext 目录。这应该只适用于 Oracle 的 JVM 扩展。

您应该将它与所有其他 3rd 方 JAR 一起添加到您的项目 /lib 目录中,并在 Eclipse 和启动脚本中正确设置 CLASSPATH。

于 2012-10-25T19:38:21.430 回答
2

您需要将类路径设置为Jar File, 才能使用该类下的类Jar File

C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\swt.jar

只是一个建议: - 不要将您的 Jar 文件放在ext目录中。把它放在别的地方。

Eclipse目前而言,它不使用System Classpath环境变量中的集合。在 Eclipse 中使用时,您应该将其Jar File放在项目下的目录中,并将其添加到您的 BuildPath。libJar File

于 2012-10-25T19:36:29.993 回答