オフラインインストールとインスタンス化ファブリックのJava chaincode

オフラインインストールとインスタンス化ファブリックのJava chaincode

需要

hyperledger布主として大国有企業、銀行で使用される独自の特性に、そのデプロイメント環境は、一般に、外部ネットワークから隔離されています。配備ドッカー、ドッカーミラーは、インストールし、対応するインスタンス化された依存性をダウンロードする必要があり、1.4環境で、導入することによってすることができる場合、ファブリック鎖コードはshadowJarプラグインをインスタンス化するために必要。

ソリューション

ソリューションは、現在オンラインで見つけることができることはjavaenvミラーリングdockerfile変更することで、それはjavaenvイメージファイルを生成するときに直接ロードshadowJarプラグを依存します。私は再生成javaenvイメージファイルへの時間は利用できません生成された画像が得られ、この試験方法の時にいくつかのファイルを失われますました。
参考記事アドレス:http://www.bubuko.com/infodetail-3024199.html

だから私は、すべてのプロジェクトディレクトリにコピーを依存して指示することを決めました。

build.gradleファイルの内容:

plugins {
    id 'com.github.johnrengelman.shadow' version '2.0.3'
    id 'java'
}

group 'org.hyperledger.fabric-chaincode-java'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    //chaincode需要的依赖
    //compile group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.4.1'
    //https://mvnrepository.com/artifact/com.alibaba/fastjson
    //compile group: 'com.alibaba', name: 'fastjson', version: '1.2.62'
    //testCompile group: 'junit', name: 'junit', version: '4.12'
    
    //从项目的libs目录加载依赖的jar包
    compile fileTree(dir:'libs',includes:['*.jar'])
}

shadowJar {
    baseName = 'chaincode'
    version = null
    classifier = null

    manifest {
        attributes 'Main-Class': 'org.hyperledger.fabric.example.SimpleChaincode'
    }
}


//将依赖的jar包导入到项目的libs目录下
task copyJars(type: Copy) {
    from configurations.runtime
    into 'libs' // 目标位置
}

使用gradle build copyJarslibsディレクトリにコマンドアイテムに依存するJARパッケージ。

おすすめ

転載: www.cnblogs.com/adderhuang/p/12155834.html