在classpath中使用.jar中的类

时间:2012-10-25 19:35:18

标签: java jar cmd swt classpath

当我尝试在 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上我收到了这个错误。

请帮帮我!

2 个答案:

答案 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。