我有一个非常奇怪的情况。我有一套eclipse插件项目,我正在使用tycho和maven来构建它们。我在其中一个项目中使用了JDBC驱动程序,并且我有一个测试插件来测试此项目。由于com.mysql.jdbc插件在eclipse p2存储库中不可用(并且我们没有自己的p2),因此我导入了jdbc插件并创建了一个OSGi插件,并将依赖项添加到我的本地插件中。JUnit测试在java.lang.ClassNotFoundException中失败:Tycho环境中的com.mysql.jdbc.Driver
我有多个eclipse工作空间坐起来。只有在创建测试和jdbc插件的第一个工作空间中,junit测试正在运行,当我使用eclipse运行它们作为 - > Junit测试命令时。当其他人,甚至我签的源代码,并尝试运行在不同的工作区中的试验,这将引发异常:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我也利用第谷的集成测试(乳宁MVN集成测试)试图但这并不既不工作,我仍然得到同样的例外。我试图寻找这个很多,但我找不到答案。
更新:我认为这不是一个tycho问题。我只是尝试基于com.jdbc.mysql jar创建eclipse插件。我创建这个工作区正常工作。但是,只要我提交代码并将项目导入另一个工作区,测试就会停止工作。所有设置在两个工作空间中都是相同的,其中一个工作,另一个获取ClassNotFound异常!
我有一个非常类似的问题,我以为我错过了在Tycho/EclipseRCP环境中使用Junit的一些东西。所以上周,我问了这个问题:http://stackoverflow.com/questions/16166866/how-to-follow-test-first-approach-with-equinox-osgi-tycho-eclipse-rcp-enviro 现在我对这个问题有更多的暗示,我简单地将它解释为oberlies的回答下的一个评论。我假设系统/配置级别有问题。此外,我认为以下关于配置的所有答案只有在您根本无法运行测试时才会有所帮助。 – 2013-04-29 10:12:16