我不时地使用Eclipse从Eclipse中启动JUnit测试
运行方式> JUnit插件测试
默认情况下,Eclipse假定您正在运行需要工作台的东西,并在启动配置的"Main"部分中进行选择
LaunchConfig> Main>要运行的程序>运行应用程序> org.eclipse.ui.ide.workbench
我可以理解为什么这是默认值,但对于我(以及我们团队中的所有人)来说,情况永远不会如此.我们总是需要运行我们的JUnit插件测试
LaunchConfig> Main>要运行的程序>运行应用程序> [无应用程序]无头模式
如何更改此默认行为?我目前正在使用Eclipse 4.4.
tl;博士:
长版:我们目前正在尝试从我们所有的 3rd 方库中创建 OSGi 包,方法是基本上使用 bnd 工具重新打包它们。当(重新)打包 hibernate.org (5.3.7) 时,我们面临 hibernate.org 库的导入包指令的问题(java.lang.NoClassDefFoundError: javax/transaction/SystemException)。
在我们的 maven 构建中,当运行 surefire 插件来执行我们的插件测试时,我们遇到了 java.lang.NoClassDefFoundError。
Jenkins 控制台日志中部分减少的堆栈跟踪如下所示(表明使用 hibernate 激活包失败):
!ENTRY org.eclipse.osgi 4 0 2020-01-30 11:39:27.329!MESSAGE An error occurred while automatically activating bundle some.company.bundle (51).
!STACK 0
org.osgi.framework.BundleException: Exception in some.other.company.bundle.Activator.start() of bundle some.other.company.bundle
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:803) …Run Code Online (Sandbox Code Playgroud)