当我尝试在 swt.jar
中使用某些类(例如布局)时,cmd会抱怨我没有它,这是消息错误:
线程“main”中的异常java.lang.NoClassDefFoundError: 组织/蚀/ SWT /部件/布局
奇怪的是, swt.jar
位于\ext
目录中,而我的CLASSPATH是C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext
当我在eclipse中创建一个新项目没有问题时,从这个jar的所有导入都可以正常工作,但在cmd上我收到了这个错误。
请帮帮我!
答案 0 :(得分: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
放在项目下的lib
目录中,并将Jar File
添加到BuildPath中。
答案 1 :(得分:2)
您正在学到一个艰难的教训:IDE(包括Eclipse)和Java EE应用服务器(如Tomcat)不关注CLASSPATH等任何环境变量。
我认为像swt.jar这样的JAR不属于jre / lib / ext目录。这应该只适用于Oracle的JVM扩展。
您应该将它与所有其他第三方JAR一起添加到project / lib目录中,并在Eclipse和启动脚本中正确设置CLASSPATH。