Corda - Невозможно инициализировать основной класс Capsule (вызвано: java.lang.NoClassDefFoundError: java / lang / instrument / Instrumentation) - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь пройти через пример Corda Hello world (в частности, версию Java).
Я дошел до того, что узлы должны быть развернуты , но это не удается:

> ./gradlew clean deployNodes                    

> Configure project :
Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0
        at build_9ngc7dap6wdyi5igmry41f6s9$_run_closure5.doCall(/home/foo/cordapp-template-java/build.gradle:85)
The setTestClassesDir(File) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the setTestClassesDirs(FileCollection) method instead.
        at build_9ngc7dap6wdyi5igmry41f6s9$_run_closure5.doCall(/home/foo/cordapp-template-java/build.gradle:85)

> Task :deployNodes
Bootstrapping local network in /home/foo/cordapp-template-java/build/nodes
Node config files found in the root directory - generating node directories
Generating directory for Notary
Generating directory for PartyA
Generating directory for PartyB
Nodes found in the following sub-directories: [PartyB, PartyA, Notary]
Waiting for all nodes to generate their node-info files...


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':deployNodes'.
> Node in PartyB exited with 1 when generating its node-info - see logs in /home/foo/cordapp-template-java/build/nodes/PartyB/logs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
15 actionable tasks: 15 executed

Рекомендуется просмотреть журналы в /home/foo/cordapp-template-java/build/nodes/PartyB/logs, в которых содержится файл node-info-gen.log следующего содержания:

Error: Unable to initialize main class Capsule
Caused by: java.lang.NoClassDefFoundError: java/lang/instrument/Instrumentation

Та же ошибка также в PartyA и нотариусеlogs.

В чем может быть причина этой ошибки?

Чтобы убедиться, что я не случайно добавил изменения, вызвавшие это, я удалил свои изменения и использовал шаблонпроект как есть:

> git status       
On branch release-V3
Your branch is up-to-date with 'origin/release-V3'.
nothing to commit, working directory clean

> git branch -v                           
* release-V3 c9eed90 Reducing dependency on Jitpack by depending on new repository that is a combination of corda-releases and corda-dependencies (#37)

Моя среда

> java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

> lsb_release -a                                 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial

Я также пытался с Oracle JDK, но получил точно такой же результат.

> /usr/lib/jvm/java-8-oracle/bin/java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Кажется, с моей средой возникли проблемы.
После переустановки Java проблема исчезла.

0 голосов
/ 18 сентября 2018

при запуске deployNodes, я думаю, что вы не должны запускать чистую задачу.

1. ./gradlew clean build
2../gradlew deployNodes

Это должно работать.

...