【发布时间】:2013-04-22 23:23:01
【问题描述】:
我有一个很奇怪的情况。我有一组 Eclipse 插件项目,我使用 tycho 和 maven 来构建它们。我在其中一个项目中使用了 JDBC 驱动程序,并且我有一个测试插件来测试这个项目。由于 com.mysql.jdbc 插件在 eclipse p2 存储库中不可用(而且我们没有自己的 p2),我导入了 jdbc 插件并创建了一个 OSGi 插件并将依赖项添加到我的本地插件中。
我有多个 Eclipse 工作区。只有在创建测试和 jdbc 插件的第一个工作区中,当我使用 eclipse run as -> Junit test 命令运行它们时,junit 测试才有效。当其他人甚至我签出源代码并尝试在不同的工作区中运行测试时,会抛出此异常:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我也尝试过使用 tycho 集成测试(运行 mvn integration-test),但这也不起作用,我仍然遇到同样的异常。我试着搜索了很多,但我找不到答案。
更新:我认为这不是第谷问题。我只是尝试创建基于 com.jdbc.mysql jar 的 eclipse 插件。我在上面创建的工作区工作正常。但是,一旦我提交代码并将项目导入另一个工作区,测试就会停止工作。两个工作区的所有设置都是一样的,一个正在工作,另一个得到 ClassNotFound 异常!
【问题讨论】:
-
我有一个非常相似的问题,我以为我错过了在 Tycho/EclipseRCP 环境中使用 Junit 的一些东西。所以上周,我问了这个问题:stackoverflow.com/questions/16166866/… 现在我对这个问题有了更多的暗示,我在 oberlies 的回答下简要解释了作为评论。我认为系统/配置级别有问题。此外,我认为以下有关配置的所有答案只有在您根本无法运行测试时才有帮助。
标签: eclipse jdbc junit classnotfoundexception tycho