引导Corda netwrok时出现“错误:jarfile corda.jar无效或损坏”

时间:2019-12-09 11:00:00

标签: blockchain corda

在尝试引导Corda网络低于错误时

  

错误:jarfile corda.jar无效或损坏

请在下面找到更多详细信息。

root@domestic-lc:/home/POC_DomesticLC# java -jar corda-tools-network-bootstrapper-4.0.jar --dir build/nodes
Bootstrapping local test network in /home/POC_DomesticLC/build/nodes
Using corda.jar in root directory
Generating node directory for PartyB
Generating node directory for BankB
Generating node directory for Notary
Generating node directory for BankA
Generating node directory for PartyA
Nodes found in the following sub-directories: [PartyA, PartyB, BankB, BankA, Notary]
Found the following CorDapps: []
Not copying CorDapp JARs as --copy-cordapps is set to FirstRunOnly, and it looks like this network has already been bootstrapped.
Waiting for all nodes to generate their node-info files...
#### Error while generating node info file /home/POC_DomesticLC/build/nodes/PartyA/logs ####
Error: Invalid or corrupt jarfile corda.jar
#### Error while generating node info file /home/POC_DomesticLC/build/nodes/PartyB/logs ####
Error: Invalid or corrupt jarfile corda.jar
#### Error while generating node info file /home/POC_DomesticLC/build/nodes/BankA/logs ####
Error: Invalid or corrupt jarfile corda.jar
#### Error while generating node info file /home/POC_DomesticLC/build/nodes/BankB/logs ####
Error: Invalid or corrupt jarfile corda.jar
#### Error while generating node info file /home/POC_DomesticLC/build/nodes/Notary/logs ####
Error: Invalid or corrupt jarfile corda.jar
Error while generating node info file. Please check the logs in /home/POC_DomesticLC/build/nodes/PartyA/logs.

2 个答案:

答案 0 :(得分:0)

您解决了这个问题吗?

我已经尝试过Bootstrap 4.0,但没有看到任何问题,所以我的建议是:

  • 检查您的Java版本,确保它是1.8.171 +
  • 确保corda.jar(在您的版本/nodes/notary/corda.jar中)是正确的,因为不良的网络可能会导致下载的corda.jar不完整
  • 确保您已从官方网站获得工具,而不是通过其他可能会损坏引导jar文件的方式进行复制
  • 最后,一如既往,请尝试使用最新版本的引导程序:4.3,以利用最佳的Corda: https://software.r3.com/artifactory/corda-releases/net/corda/corda-tools-network-bootstrapper/4.3/

答案 1 :(得分:0)

我有一个类似的问题(不是那个特定的JAR文件,但是我在示例中使用的是该文件的名称)。这是我找出问题所在的方法。

这些疑难解答步骤可能会帮助发现此问题的其他人(但OP并不能解决问题,因为日期显示不可能是此问题)。

我首先尝试通过inspecting its contents验证JAR文件:

$ jar -tf corda.jar

这告诉我它确实是无效的。就我而言,我看到了:

java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:225)
    at java.util.zip.ZipFile.<init>(ZipFile.java:155)
    at java.util.zip.ZipFile.<init>(ZipFile.java:126)
    at sun.tools.jar.Main.list(Main.java:1115)
    at sun.tools.jar.Main.run(Main.java:293)
    at sun.tools.jar.Main.main(Main.java:1288)

然后我查看了文件的大小:

$ ls -alh corda.jar

在我的情况下,它是133个字节,对于JAR文件来说似乎有点小,所以我cat对其进行了编辑并看到了:

$ cat corda.jar

501 HTTPS Required. 
Use https://repo1.maven.org/maven2/
More information at https://links.sonatype.com/central/501-https-required

事实证明,我的脚本(实际上是Dockerfile)正在使用curl -o下载文件,但是从不再受支持的URL下载文件。正如https://links.sonatype.com/central/501-https-required所说:

从2020年1月15日开始,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。

如果收到此错误,则需要用其规范的HTTPS副本替换所有对Maven Central的URL引用:

http://repo1.maven.org/maven2/替换为https://repo1.maven.org/maven2/

http://repo.maven.apache.org/maven2/替换为https://repo.maven.apache.org/maven2/

如果由于某种原因您的环境不支持HTTPS,则可以选择在http://insecure.repo1.maven.org/maven2/使用我们专用的不安全端点

有关转向HTTPS的更多背景信息,请参见https://blog.sonatype.com/central-repository-moving-to-https

这是相当具体的,但可能会对某人有所帮助。