java - 在类路径中使用 .jar 中的类

标签 java jar cmd swt classpath

当我尝试通过 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/

相关文章:

java - Gradle包资源分布

java - HttpClient - 使用 Tomcat Webdav 上传 JAR 文件导致 "invalid or corrupt jarfile"

打包在批处理文件中的PowerShell脚本只执行了一半

c# - 如何在没有控制台的情况下通过 cmd.exe 启动分离进程?

java - 为什么这个测试包会失败?

Java 数组同步(可见性)

java - 将 Excel 工作表设置为只读

用于提取货币短语的 Java 正则表达式

javascript - 如何使用 WinJS 中的参数运行 .JAR 文件

python - 我该如何解决问题 "No module name Botan"