尝试在 cordapp 上运行测试,但不断收到此错误 java.lang.IllegalArgumentExceptio



每当我尝试启动BNMS selfIssueMemberFlowTest.kt工作流程的测试时,测试都会突然停止,因为我认为这些问题可能归因于类星体

对于运行配置,我将"VM 选项"设置为"-ea -javaagent:bn-apps/lib/quasar.jar",并将"缩短命令行"选项设置为"JAR manifest">

@Test
fun `self issue should fail if a membership state already exists`() {
   val bnoNode = bnoNodes.first()
   runSelfIssueMembershipFlow(bnoNode,bnoNode.identity())
   try {
     runSelfIssueMembershipFlow(bnoNode,bnoNode.identity())
     fail()
   } catch (e : FlowException) {
     assert("Membership already exists" == e.message)
   }
  }
}

我收到的错误消息是

QUASAR WARNING: Assertions enabled. This may harm performance.
java.lang.IllegalArgumentException: Stream is either empty or not a JAR/ZIP
at net.corda.node.services.persistence.NodeAttachmentService$Companion.checkIsAValidJAR(NodeAttachmentService.kt:86)
  at net.corda.node.services.persistence.NodeAttachmentService$Companion.access$checkIsAValidJAR(NodeAttachmentService.kt:65)
  at net.corda.node.services.persistence.NodeAttachmentService$import$1$1.invoke(NodeAttachmentService.kt:360)
  at net.corda.node.services.persistence.NodeAttachmentService$import$1$1.invoke(NodeAttachmentService.kt:52)
  at net.corda.nodeapi.internal.ContractsScanningKt.withContractsInJar(ContractsScanning.kt:55)
  at net.corda.node.services.persistence.NodeAttachmentService$import$1.invoke(NodeAttachmentService.kt:348)
  at net.corda.node.services.persistence.NodeAttachmentService$import$1.invoke(NodeAttachmentService.kt:52)
  at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:236)
  at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:221)
  at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:199)
  at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:205)
  at net.corda.node.services.persistence.NodeAttachmentService.import(NodeAttachmentService.kt:347)
  at net.corda.node.services.persistence.NodeAttachmentService.privilegedImportAttachment(NodeAttachmentService.kt:299)
  at com.r3.businessnetworks.membership.flows.AbstractFlowTest.setup(AbstractFlowTest.kt:68)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
  at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
  at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
  at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
  at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
  at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
  at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Process finished with exit code -1

此错误消息表示 Corda 无法将您上传的文件识别为 jar 文件。错误消息不是很有帮助,但已在此处修复。

相关内容

最新更新