我为 tycho项目配置了std项目设置。 构建非常好:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] root .................................. SUCCESS [ 0.152 s]
[INFO] bundles ............................... SUCCESS [ 0.008 s]
[INFO] com.project.pcbcalculator ............. SUCCESS [ 3.649 s]
...(Other artifacts like target, features).... SUCCESS [.........]
[INFO] com.project.pcbcalculator.tests ....... FAILURE [ 4.693 s]
除了测试。我总是得到运行时错误(13)
!MESSAGE Missing required bundle **com.project.pcbcalculator_1.0.0**
!ENTRY org.eclipse.osgi 4 0 2018-06-05 18:51:19.816
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Bundle **com.project.pcbcalculator.tests** is not
found
分析控制台日志我得出结论,测试项目无法启动,因为未测试要测试的budnle。
问题是为什么,以及如何改变。根据教程,alls应该没问题,tycho能够编译主包
答案 0 :(得分:0)
请将org.eclipse.equinox.console添加到Require-Bundle中。
在日志中查找执行测试的命令:
[INFO] Command line:
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java, -Dosgi.noShutdown=false, -Dosgi.os=linux, -Dosgi.ws=gtk, -Dosgi.arch=x86_64, -Dosgi.clean=true, -jar, /home/lupus/.m2/repository/p2/osgi/bundle/org.eclipse.equinox.launcher/1.5.100.v20180827-1352/org.eclipse.equinox.launcher-1.5.100.v20180827- ...
删除逗号并添加到末尾
-noExit-控制台
运行命令。您应该得到相同的异常java.lang.RuntimeException
再次单击,您将看到“ osgi>”提示。
运行
osgi>diag com.project.pcbcalculator.tests
您应该详细了解目标中缺少的内容。