当我尝试通过 cmd 在 swt.jar
中使用某些类(例如布局)时,它提示我没有它,这是消息错误:
Exception in thread "main" 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 上我收到此错误。
请帮帮我!
最佳答案
您正在学习一个惨痛的教训:IDE(包括 Eclipse)和 Java EE 应用程序服务器(如 Tomcat)不关注任何环境变量(如 CLASSPATH)。
我认为像 swt.jar 这样的 JAR 不属于 jre/lib/ext 目录。这应该只适用于 Oracle 的 JVM 扩展。
您应该将其与所有其他第 3 方 JAR 一起添加到您的项目/lib 目录中,并在 Eclipse 和启动脚本中正确设置 CLASSPATH。
关于java - 在类路径中使用 .jar 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075906/