【问题标题】:corda- QUASAR WARNING: Quasar Java Agent isn't running trigger error java.lang.IllegalStateException: Missing the '-javaagent' JVM argumentcorda- QUASAR WARNING: Quasar Java Agent is not running trigger error java.lang.IllegalStateException: Missing the '-javaagent' JVM argument
【发布时间】:2019-07-29 03:05:25
【问题描述】:

我已经安装了 Corda 版本 4。 我目前无法运行调试。如果我让默认设置,Intellij 在“Shortencommend line”上会出现错误。

我将配置修改如下: enter image description here

当我在调试模式下运行时,我收到以下错误:

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:57000,suspend=y,server=n -ea -javaagent:../lib/quasar.jar -Dco.paralleluniverse.fibers.verifyInstrumentation -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\YYYYY\.IdeaIC2018.3\system\groovyHotSwap\gragent.jar -javaagent:C:\Users\YYYYY\.IdeaIC2018.3\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.2.5\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\YYYYY\AppData\Local\Temp\1\idea_classpath1610987467 com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.XXXXXX.flow.XXXXXXFlowTests
Connected to the target VM, address: '127.0.0.1:57000', transport: 'socket'
[quasar] WARNING: Can't determine super class of com/intellij/rt/debugger/agent/CaptureStorage$CapturedStack
2019-03-07 10:09:25,976 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
QUASAR WARNING: Assertions enabled. This may harm performance.
QUASAR WARNING: Quasar Java Agent isn't running. If you're using another instrumentation method you can ignore this message; otherwise, please refer to the Getting Started section in the Quasar documentation.
QUASAR WARNING: Fibers are set to verify instrumentation. This may *severely* harm performance.
[INFO ] 10:09:40.848 [main] TestCordappImpl.apply - Generating CorDapp jar from local project in C:\ZZZZZZ\RRRRRR\EEEEEE\Demo\src\XXXXXXPrototype\contracts ...
> Task :contracts:compileKotlin UP-TO-DATE
> Task :contracts:compileJava NO-SOURCE
> Task :contracts:processResources NO-SOURCE
> Task :contracts:classes UP-TO-DATE
> Task :contracts:configureCordappFatJar
> Task :contracts:inspectClassesForKotlinIC UP-TO-DATE
> Task :contracts:jar UP-TO-DATE

BUILD SUCCESSFUL in 1s
4 actionable tasks: 1 executed, 3 up-to-date
[INFO ] 10:09:45.643 [main] TestCordappImpl.apply - Generating CorDapp jar from local project in C:\ZZZZZZ\RRRRRR\EEEEEE\Demo\src\XXXXXXPrototype\workflows ...
> Task :contracts:compileKotlin UP-TO-DATE
> Task :contracts:compileJava NO-SOURCE
> Task :contracts:processResources NO-SOURCE
> Task :contracts:classes UP-TO-DATE
> Task :contracts:configureCordappFatJar
> Task :contracts:inspectClassesForKotlinIC UP-TO-DATE
> Task :contracts:jar UP-TO-DATE
> Task :workflows:compileKotlin UP-TO-DATE
> Task :workflows:compileJava NO-SOURCE
> Task :workflows:processResources UP-TO-DATE
> Task :workflows:classes UP-TO-DATE
> Task :workflows:configureCordappFatJar
> Task :workflows:inspectClassesForKotlinIC UP-TO-DATE
> Task :workflows:jar UP-TO-DATE....
....doing nothing
[INFO ] 10:10:03.705 [main] ClassloaderUtils.logElapsedTime - Contracts loading for 'C:\Users\YYYYY\AppData\Local\Temp\1\attachment6754596995920191526.jar' took 34 msec
[INFO ] 10:10:03.748 [main] NodeAttachmentService.invoke - Stored new attachment: id=CECC460ED2D5F196CED8988EDDBDFB039FDC145507650BEE2E6CD92862638780 uploader=app filename=null
[INFO ] 10:10:03.754 [main] NotaryLoader.loadService - Starting notary service: class net.corda.node.services.transactions.SimpleNotaryService
[INFO ] 10:10:03.759 [main] SinglePartyNotaryService.<init> - Starting notary in validating mode

java.lang.IllegalStateException: Missing the '-javaagent' JVM argument. Make sure you run the tests with the Quasar java agent attached to your JVM.
See https://docs.corda.net/troubleshooting.html - 'Fiber classes not instrumented' for more details.

    at net.corda.node.services.statemachine.SingleThreadedStateMachineManager.checkQuasarJavaAgentPresence(SingleThreadedStateMachineManager.kt:312)
    at net.corda.node.services.statemachine.SingleThreadedStateMachineManager.start(SingleThreadedStateMachineManager.kt:140)
    at net.corda.node.internal.AbstractNode$start$7.invoke(AbstractNode.kt:392)
    at net.corda.node.internal.AbstractNode$start$7.invoke(AbstractNode.kt:120)
    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.internal.AbstractNode.start(AbstractNode.kt:371)
    at net.corda.testing.node.internal.InternalMockNetwork$MockNode.start(InternalMockNetwork.kt:346)
    at net.corda.testing.node.internal.InternalMockNetwork.createNodeImpl(InternalMockNetwork.kt:471)
    at net.corda.testing.node.internal.InternalMockNetwork.createNode(InternalMockNetwork.kt:449)
    at net.corda.testing.node.internal.InternalMockNetwork.createNode(InternalMockNetwork.kt:444)
    at net.corda.testing.node.internal.InternalMockNetwork.createNotaries$node_driver(InternalMockNetwork.kt:253)
    at net.corda.testing.node.internal.InternalMockNetwork.<init>(InternalMockNetwork.kt:236)
    at net.corda.testing.node.internal.InternalMockNetwork.<init>(InternalMockNetwork.kt:149)
    at net.corda.testing.node.MockNetwork.<init>(MockNetwork.kt:299)
    at net.corda.testing.node.MockNetwork.<init>(MockNetwork.kt:288)
    at net.corda.testing.node.MockNetwork.<init>(MockNetwork.kt:297)
    at com.XXXXXX.flow.XXXXXXFlowTests.setup(XXXXXXFlowTests.kt:28)
    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)
    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 com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)


kotlin.UninitializedPropertyAccessException: lateinit property network has not been initialized

    at com.XXXXXX.flow.XXXXXXFlowTests.tearDown(XXXXXXFlowTests.kt:43)
    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.RunAfters.evaluate(RunAfters.java:33)
    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)
    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 com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)

Disconnected from the target VM, address: '127.0.0.1:57000', transport: 'socket'

Process finished with exit code -1

【问题讨论】:

  • -javaagent:../lib/quasar.jar 可能是个问题,请尝试使用绝对路径。
  • 我做到了,但 Intellij(或 java)无法加载 quasar 库!我输入了错误的路径来检查,我有一条错误消息说找不到 jar。我确定的是 quasar.jar 已加载。
  • 我看不到你命令行的其余部分。 ../lib/quasar 之前的位被切断。你能用完整的命令行更新你的问题吗?
  • 受堆栈溢出限制:"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:59495,暂停=y,服务器=n -ea -javaagent:../lib/quasar.jar -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\fbenanta\.IdeaIC2018.3\system\groovyHotSwap \gagent.jar
  • 和:-javaagent:C:\Users\fbenanta\.IdeaIC2018.3\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "C:\Program Files \JetBrains\IntelliJ IDEA 社区版 2018.2.5\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\fbenanta\AppData\Local\Temp\1\idea_classpath611726309 com.intellij.rt.execution。 junit.JUnitStarter -ideVersion5 -junit4 com.bluecatalyst.flow.BluecatalystFlowTests

标签: intellij-idea corda quasar


【解决方案1】:

来自 Corda 测试文档:

我们建议编辑您的 IntelliJ 首选项以便使用 Gradle 运行器 - 这意味着 quasar utils 插件 将确保设置一些标志(如 -javaagent - 见下文)给你

切换到使用 Gradle 运行器:

  • 导航至构建、执行、部署 -> 构建工具 -> Gradle -> Runner(或搜索 runner)
    • Windows:在“设置”中
    • MacOS:这在“首选项”中
  • 将“将 IDE 构建/运行操作委托给 gradle”设置为 true
  • 将“运行测试使用:”设置为“Gradle Test Runner”

更改此配置为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-22
    • 2022-12-02
    • 2022-12-27
    • 2020-03-27
    • 2013-09-20
    • 2020-04-04
    • 2018-11-09
    • 1970-01-01
    相关资源
    最近更新 更多