如何从命令行执行Cucumber Spring Boot Packaged Jar?

时间:2018-05-10 00:46:04

标签: spring-boot cucumber cucumber-jvm cucumber-java spring-boot-gradle-plugin

我对cucumber-jvm世界相当新鲜。尝试将黄瓜春季启动应用程序打包为Jar。应用程序从Eclipse运行良好。但是,当我打包为可执行jar时,它失败并出现异常:

主线程中的异常,找不到后端模块。确保在CLASSPATH上有后端模块。请帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

来自:https://github.com/cucumber/cucumber-jvm/issues/1320

SpringBoot使用嵌套的jar结构,需要使用ApplicationContext.getResources来透明地访问它。您必须创建自己的Cucumber运行时实例,并为其提供使用ApplicationContext的类加载器和资源加载器。

答案 1 :(得分:0)

使用Gradle,将Cucumber工件(即功能,步骤实现等)放入与Spring Boot应用程序分开的子项目中,例如my-cucumber-tests

然后在Spring Boot应用程序的build.gradle中添加:

bootJar {
  // make backend, features, and steps available to Cucumber at runtime
  requiresUnpack '**/my-cucumber-tests-*.jar', '**/cucumber-java-*.jar'
}