0

第一个 Netty 应用

 2 years ago
source link: http://dualface.github.io/2017/01/04/first-netty-app/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

第一个 Netty 应用

0 Comments

跟着 Netty in Action 这本书学习 Netty,结果第一个 app 搞了两天都没跑起来,主要卡在 Gradle 编译这一块了。

这篇文章就详细记录了搭建开发环境和编译 Netty app 的详细步骤,免得以后又忘了。

搭建开发环境

基本步骤:

  1. http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载 JDK 最新版本装好。

  2. 访问 http://sdkman.io/install.html 页面,按照步骤安装 SDKMAN,然后重启终端。

    curl -s "https://get.sdkman.io" | bash
  3. 安装 Gradle。

    sdk install gradle

以上步骤如果下载很慢,请默念“FXXK GFW”一百遍!

建立工程结构

新建一个空白目录,在其中执行(如果这一步出错,说明 gradle 版本太老):

gradle init --type java-appliaction

执行后就得到一个基本的 java app 工程结构了。

现在打开 build.gradle,修改依赖为:

dependencies {
compile 'io.netty:netty-microbench:4.1.6.Final'
// Use JUnit test framework
testCompile 'junit:junit:4.12'
gradle run

如果一切正常,会看到执行结果 Hello world.

创建 Netty Server

这里我们选用 Netty in Action 里第二章的 EchoServer 示例来实践。

  1. 在工程目录 src/main/java/ 中建立子目录 nettyapp/

  2. https://github.com/normanmaurer/netty-in-action 下载所有源代码,并解压缩。

  3. src/main/java/com/manning/nettyinaction/chapter2/ 中的所有文件复制到我们工程 src/main/java/nettyapp/ 目录中。

  4. 删除 src/main/java/App.java 文件。

  5. 修改所有文件的 package:

    package com.manning.nettyinaction.chapter2;
    package nettyapp;
  6. 修改 src/main/java/nettyapp/EchoServer.javamain() 方法为:

    public static void main(String[] args) throws Exception {
    new EchoServer(8080).start();
  7. 修改 build.gradle:

    mainClassName = 'nettyapp.EchoServer'
  8. gradle run

    如果显示 nettyapp.EchoServer started and listen on /0:0:0:0:0:0:0:0:8080 表示我们的 netty app 已经跑起来了。

如果需要分发编译好的 netty app,执行:

gradle distZip

可以将 netty app 打包为 .zip 文件,并且包含各种环境下需要的启动脚本和支持库。

-EOF-

分享到

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK