早上好。我正在使用空手道独立版的项目中工作。我是空手道的新手,请原谅我缺乏知识。
独立的空手道罐子是使用’ -m ‘命令行参数执行的,以启动模拟。功能。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
谢谢!
感谢您提出这个问题,我想我已经找到了一种实现此目标的方法,这带来了很多可能性。解决方案是使用Java第一性原理,而不使用该-jar
选项。空手道命令行应用程序(或CLI)类恰好是com.intuit.karate.Main
。我将在此处提供使用SikuliX的演示。一,功能文件test.feature
:
Feature: sikuli test
Background:
* def Screen = Java.type('org.sikuli.script.Screen')
Scenario:
* def s = new Screen()
* def c = s.capture()
* c.getFile('.')
并使用karate.jar
和sikulixapi.jar
在命令行的同一文件夹中,此方法有效(对于Windows,使用;
而不是:
用作“路径分隔符”):
java -cp karate.jar:sikulixapi.jar com.intuit.karate.Main test.feature
对于那些希望为Visual Studio Code“ Karate
Runner”扩展名自定义类路径的用户,请参考:https :
//github.com/intuit/karate/wiki/Karate-Robot-Windows-Install-Guide#change-
command-线设置
问题内容: 我一直在尝试将jar转换为exe。该程序-jar-使用蓝牙库“ Bluecove”,它是某个目录中的另一个jar。该程序还通常使用Java Swing 和东西。从Netbeans或Eclipse中运行时,该程序可以完美运行。现在是我部署它的时候了,因此我需要将其转换为exe。但是我一直无法获得最终的可执行文件来链接“ Bluecove”。我尝试了JSmooth和Launch4j,但是使
早上好我正在做一个使用空手道的项目。我对空手道完全陌生,可以原谅我在这里缺乏知识。 使用-m命令行参数执行独立空手道jar以启动mock.feature.mock.feature引用基于org.springframework.amqp构建的utils类。 问题是空手道。由于外部库“org/springframework/amqp/rabbit/connection/ConnectionFactor
问题内容: 我有一个外部程序Otter,该程序将一些文件名作为参数并创建了一个输出文件,也将其指定为参数。因此,例如,如果我的输入是“ proof.in”,并且我希望将输出放置在“ proof.out”文件中,则可以在终端中运行以下命令: “ proof.in”文件必须与水獭可执行文件位于同一文件中。 问题是我需要Java提供此功能,因此在我的Java代码中执行以下操作: 但是在此行之后,整个用户
问题内容: 我有一个外部程序Otter,该程序将一些文件名作为参数并创建了一个输出文件,也将其指定为参数。因此,例如,如果我的输入是“ proof.in”,并且我希望将输出放置在“ proof.out”文件中,则可以在终端中运行以下命令: “ proof.in”文件必须与水獭可执行文件位于同一文件中。 问题是我需要Java提供此功能,因此在我的Java代码中执行以下操作: 但是在此行之后,整个用户
外部化相对于序列化的主要优点是外部化仅保留对象的一部分,而不是序列化时保留整个对象。但我认为,如果我们不调用可序列化类的 writeObject() 方法中的 ObjectOutputStream 的 defaultWriteObject() 方法,我们可以通过自定义序列化来模拟外部化。因此,无需调用 defaultWriteObject() 方法,只在 writeObject() 方法中保留可序
No alarms and no surprises. — Radiohead 我讨厌惊喜。有时你的 Puppet 配置清单没有像你预期的那样执行, 或者在你不知情的情况下,或许别人又提交了改变。 不管哪种情况发生,在 Puppet 执行配置清单之前能精确地获知它将要执行些什么是非常必要的。 例如,若更新了一个生产服务的配置文件并重新启动该服务,很可能会导致非计划性的停机时间。 又如,有时人为的手