tencent cloud

腾讯云区块链服务平台 TBaaS

产品动态
产品简介
产品概述
产品功能
底层引擎
产品优势
应用场景
基本概念
购买指南
购买页说明
欠费说明
定价与规格说明
快速入门
Hyperledger Fabric
操作指南
联盟
事件中心
网络概览
通道管理
合约管理
组织管理
节点管理
区块链浏览器
证书管理
审计日志
节点监控与日志
开发指南
Hyperledger Fabric
应用系统对接
API 文档
History
Introduction
API Category
Making API Requests
Hyperledger Fabric 2.3 APIs
Data Types
Error Codes
常见问题
产品协议
数据处理和安全协议
联系我们

合约打包说明

PDF
聚焦模式
字号
最后更新时间: 2025-04-10 00:41:07
Java 语言合约示例包请参见 fabric-contract-java

Java 合约打包

1. 在 pom.xml 文件中添加如下所示的本地仓库配置:
<repositories> <repository> <id>my-local-repo</id> <url>file://${project.basedir}/repository</url> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>ignore</checksumPolicy> </snapshots> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>ignore</checksumPolicy> </releases> </repository> <repository> <id>central</id> <url>https://repo.maven.apache.org/maven2</url> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>ignore</checksumPolicy> </snapshots> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>ignore</checksumPolicy> </releases> </repository> </repositories>
2. 在 pom.xml 文件中添加如下所示的 maven 插件配置,注意使用指定的版本。
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <finalName>chaincode</finalName> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>chaincode.example.SimpleChaincode</mainClass> </transformer> </transformers> <filters> <filter> <!-- filter out signature files from signed dependencies, else repackaging fails with security ex --> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build>
3. 在 pom.xml 中添加相关依赖,示例如下:
<dependencies> <dependency> <groupId>org.hyperledger.fabric-chaincode-java</groupId> <artifactId>fabric-chaincode-protos</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>org.hyperledger.fabric-chaincode-java</groupId> <artifactId>fabric-chaincode-shim</artifactId> <version>2.3.1</version> <exclusions> <exclusion> <groupId>com.github.everit-org.json-schema</groupId> <artifactId>org.everit.json.schema</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> </dependency> </dependencies>
4. 使用如下命令将合约依赖下载到 repository 目录中。
mvn dependency:copy-dependencies -DoutputDirectory=repository -Dmdep.useRepositoryLayout=True -Dmdep.copyPom=True
5. 在合约根目录中使用zip -r xxx.zip *命令将合约进行打包。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈