【发布时间】:2019-06-05 08:31:59
【问题描述】:
早上好。我正在开发一个使用空手道独立的项目。我对空手道完全陌生,请原谅我在这里缺乏知识。
使用 '-m' 命令行参数执行独立空手道 jar 以启动 mock.feature。 mock.feature 引用了一个基于“org.springframework.amqp”构建的 utils 类。
问题是由于外部库 'org/springframework/amqp/rabbit/connection/ConnectionFactory' 导致 karate.jar 启动失败并出现命令行执行异常
api1_mock_test.feature
Feature: API1 Mock Test
Background:
* def RabbitUtils = Java.type('utils.RabbitUtils')
.
.
我们的 RabbitUtils 只是一个 java 类,它导入 org.springframework.amqp 外部库以提供与 Rabbit AMQP 代理交互的功能,例如连接、接收、发布、清除等。在 IntelliJ 中构建和运行时,一切正常。项目中的POM引用为:
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
空手道独立 jar 是否有某种方式引用外部库? classpath 参数设置为引用我们的工作区 '.\target\test-classes' 并包含 RabbitUtils.class 文件。
当前从工作区根目录执行如下所示:
java -jar C:\intuit\karate-0.9.3.RC2.jar -cp .\target\test-classes -p 6868 -m .\src\test\java\mocks\api1_mock_test.feature
08:57:05.122 [main] INFO com.intuit.karate.Main - Karate version: 0.9.3.RC2
08:57:05.891 [main] ERROR com.intuit.karate - server-side background init failed - api1_mock_test.feature:4
Exception in thread "main" picocli.CommandLine$ExecutionException:
-unknown-:4 - org/springframework/amqp/rabbit/connection/ConnectionFactory
谢谢!
【问题讨论】: