需求
hyperledger fabric(分布式账本)由于其本身的特性,目前主要应用于大型国企和银行,其环境的部署一般是与外部网络隔离的。如果采用docker的部署方式,docker镜像可以通过导入即可,但是在安装和实例化的时候需要下载相应的依赖,而且在1.4的环境中,fabric实例化链码需要使用到shadowJar插件。
问题
如何将 Java链码工程所需要的依赖引入工程指定路径下
解决方案
目前网上能找到的解决方案是修改javaenv镜像的dockerfile,将shadowJar插件的依赖直接在生成javaenv镜像文件的时候加载(这就需要改镜像了,看起来就很复杂,我很赖,所以你懂得)。测试这种方法的时候发现在重新生成javaenv镜像文件的时候会缺少一些文件,导致生成的镜像不可用。
参考文章地址:http://www.bubuko.com/infodetail-3024199.html
于是较为简单的方法是将所有依赖下载到指定目录下:
build.gradle
文件内容:
/*
* Copyright IBM Corp. 2018 All Rights Reserved.
* 解决Fabric 链码 离线安装问题:将所依赖JAR包统一放入libs下
* Author: cuixiangyang
* Date: 2020-02-13
* SPDX-License-Identifier: Apache-2.0
*/
plugins