在Eclipse中使用Gradle开发web3j以太坊应用

简介: 在我们的web3j以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。

在我们的web3j以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。

我们将分为6个步骤来介绍如何在Eclipse中使用Gradle项目开发web3j以太坊应用:

  1. 安装Gradle工具
  2. 安装Eclipse的Gradle插件
  3. 创建Gradle项目
  4. 配置Gradle项目
  5. 创建演示类代码
  6. 运行仿真器和演示代码

1、安装Gradle

官网下载最新的4.8.1版本Gradle压缩包,然后选择一个目录解压,比如:d:\tool。 不需要配置环境变量,解压即可。

注意:Gradle压缩包内含一级gradle-4.8.1目录,因此最终的安装目录是:d:\tool\gradle-4.8.1

2、安装Gradle插件

最新Oxygen版的Eclipse已经默认集成了Gradle插件,因此可以直接创建Gradle项目:

oxygen

如果需要手工安装,点击菜单[Help]-> [Eclipse Marketplace],然后搜索gradle,选择Buildship Gradle Integration 2.0安装即可:

install gradle plugin

3、创建Gradle项目

选择菜单[New] -> [Project…],在弹出的向导对话框中选择Gradle Project

gradle support

然后给项目起个名字,比如test:

gradle name

在项目选项页,首先启用Override workspace settings选项,以便填写Gradle的安装目录,比如我们之前安装到d:\tool\gradle-4.8.1

gradle path

4、配置Gradle项目

打开项目的build.gradle文件,在dependencies中添加web3j和logback依赖,同时添加maveCentral()仓库:

plugins {
    id 'java-library'
}

dependencies {
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:23.0'
    testImplementation 'junit:junit:4.12'
    //添加web3j和logback依赖
    compile 'org.web3j:core:3.3.0', 
            'ch.qos.logback:logback-core:1.2.3',
            'ch.qos.logback:logback-classic:1.2.3'    
}

repositories {
    jcenter()
    //添加maven仓库
    mavenCentral()  
}

注意:在更新build.gradle文件后,一定要执行一下手动刷新,让新的设置生效!

Package Explorer窗口中的项目名称上点右键,然后点击[Gradle] -> [Refresh Gradle Project]

refresh gradle

5、创建一个新的类

创建一个新的类App,一切选用默认设置即可:

new class

然后修改App.java代码如下:

package test;

import org.web3j.protocol.Web3j;
import org.web3j.protocol.http.HttpService;

public class App {

    public static void main(String[] args) throws Exception {
        Web3j web3j = Web3j.build(new HttpService("http://localhost:8545"));
        String v = web3j.web3ClientVersion().send().getWeb3ClientVersion();
        System.out.println(v);
    }
}

6、运行

首先启动你本地机器上的ganache-cli,如果是windows平台,推荐使用我们的以太坊开发套件Ethbox

ethbox ganache

然后点击[Run] -> [Run As] -> [Java Application]

run as

一切顺利的话,你会在Eclipse的控制台首先看到Gradle在下载依赖包,然后看到你的代码执行的结果:

output

BINGO!

相关文章
|
1天前
|
设计模式 存储 前端开发
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
11 4
|
1天前
|
存储 前端开发 安全
13:会话跟踪技术Session的深度应用与实践-Java Web
13:会话跟踪技术Session的深度应用与实践-Java Web
10 3
|
1天前
|
存储 前端开发 搜索推荐
12:会话跟踪技术Cookie的深度应用与实践-Java Web
12:会话跟踪技术Cookie的深度应用与实践-Java Web
11 4
|
1天前
|
XML 存储 Java
11:Servlet中初始化参数的获取与应用-Java Web
11:Servlet中初始化参数的获取与应用-Java Web
12 3
|
1天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
2天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
2天前
|
前端开发 JavaScript 搜索推荐
【专栏:HTML 与 CSS 前端技术趋势篇】HTML 与 CSS 在 Web 组件化中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在Web组件化中的应用及其在前端趋势中的重要性。组件化提高了代码复用、维护性和扩展性。HTML提供组件结构,语义化标签增进可读性,支持用户交互;CSS实现样式封装、布局控制和主题定制。案例展示了导航栏、卡片和模态框组件的创建。响应式设计、动态样式、CSS预处理器和Web组件标准等趋势影响HTML/CSS在组件化中的应用。面对兼容性、代码复杂度和性能优化挑战,需采取相应策略。未来,持续发掘HTML和CSS潜力,推动组件化开发创新,提升Web应用体验。
|
2天前
|
缓存 前端开发 JavaScript
探索现代Web应用的性能优化策略移动应用开发的未来之路:跨平台与原生之争
【4月更文挑战第30天】随着互联网技术的迅猛发展,Web应用已成为信息交流和商业活动的重要平台。用户对Web应用的响应速度和稳定性有着极高的期望,这促使开发者不断寻求提升应用性能的有效途径。本文将深入探讨针对现代Web应用进行性能优化的关键策略,包括前端优化、后端优化以及数据库层面的调优技巧,旨在为开发者提供一套全面的优化工具箱,帮助他们构建更快速、更高效的Web应用。
|
2天前
|
开发框架 JavaScript 前端开发
【JavaScript 与 TypeScript 技术专栏】TypeScript 在 Web 开发中的前沿应用
【4月更文挑战第30天】TypeScript在Web开发中日益重要,以其强大的类型系统提升代码质量,支持组件化开发,与React、Vue、Angular等框架良好集成。在大型项目管理中,TypeScript助于代码组织和优化,提高团队协作效率。此外,它提升开发体验,提供智能提示和错误检测。众多成功案例证明其前沿应用,未来将在Web开发领域持续发挥关键作用。
|
2天前
|
移动开发 JavaScript 前端开发
【JavaScript技术专栏】Web Worker在JavaScript中的应用
【4月更文挑战第30天】HTML5的Web Worker API解决了JavaScript单线程性能瓶颈问题,允许在后台线程运行JS代码。本文介绍了Web Worker的基本概念、类型、用法和应用场景,如复杂计算、图像处理和数据同步。通过实例展示了搜索建议、游戏开发和实时数据分析等应用,并提醒注意其无法直接访问DOM、需消息传递通信以及移动端资源管理。Web Worker为前端开发提供了多线程能力,提升了Web应用性能和用户体验。

推荐镜像

更多