我对 cucumber-jvm 世界还很陌生。试图将 cucumber spring boot 应用程序打包为 Jar。应用程序在 Eclipse 中运行良好。但是当我打包为可执行 jar 时,它会因 Exception 失败:
主线程异常,未找到后端模块。确保您在 CLASSPATH 上有后端模块。请帮忙。谢谢你。
我对 cucumber-jvm 世界还很陌生。试图将 cucumber spring boot 应用程序打包为 Jar。应用程序在 Eclipse 中运行良好。但是当我打包为可执行 jar 时,它会因 Exception 失败:
主线程异常,未找到后端模块。确保您在 CLASSPATH 上有后端模块。请帮忙。谢谢你。
来自:https ://github.com/cucumber/cucumber-jvm/issues/1320
SpringBoot 使用嵌套的 jar 结构,需要使用ApplicationContext.getResources
才能透明地访问它。您必须创建自己的 Cucumber 运行时实例,并为其提供使用ApplicationContext
.
使用 Gradle,将 Cucumber 工件(即功能、步骤实现等)放入子项目中,例如my-cucumber-tests
,与 Spring Boot 应用程序分开。
然后在 Spring Boot 应用程序中build.gradle
,添加:
bootJar {
// make backend, features, and steps available to Cucumber at runtime
requiresUnpack '**/my-cucumber-tests-*.jar', '**/cucumber-java-*.jar'
}