【发布时间】:2011-06-05 10:16:07
【问题描述】:
我从队友那里收到了一个新的 SOAP 服务客户端 JAR,并且正忙于将它集成到我的应用程序中。我已将 JAR 放入适当的路径,覆盖以前的版本。我刷新了我的工作区,执行了清理和构建,但是...
...我无法通过智能感知看到 JAR 中的任何类,即使我从 JAR 使用的代码将正确编译和执行。此外,Eclipse 仍在尝试使用以前版本的 JAR,因为当我执行“修复导入”时,它会重新导入旧类,而不是新类。
代码构建并运行,但我必须绝对引用类,而不是相对:
org.acmewidgets.soap.inputs.HeaderType header = new org.acmewidgets.soap.inputs.HeaderType()
而不是
HeaderType header = new HeaderType()
以前版本的 JAR 不需要这个。
我如何“强制”Eclipse 放弃旧的引用并使用新的?或者,Eclipse 运行良好,而我的新 JAR 是可疑的?
谢谢!
【问题讨论】:
-
你添加到Eclipse中的项目类路径了吗?右键单击项目并转到属性 > Java 构建路径 > 库。您可能会发现旧的 JAR 仍然列在那里,而不是新的 JAR。
-
您是否也使用 Windows 资源管理器(或 Mac Finder,或命令行等)复制了 JAR 文件?如果您在 Eclipse 之外进行这些更改,Eclipse 不会自动获取对文件系统的更改。尝试刷新项目(右键单击 > 刷新)。