13397158231   jevian_ma@worldflying.cn

一点一点学vart.x(二)

2019-06-16 01:50:12

看了上一篇文章,大家是否对gradle工具更加喜爱了呢?确实,看来用它实现编译会轻松很多,但是不要忘了,java中可是有很多依赖关系的啊,不解决这些依赖关系,永远不可能学好java的,这节课就教教大家怎么写依赖关系。

设置我们的工程中需要哪些依赖,方法其实很简单,只需要修改下build.gradle在其中添加

repositories {

    mavenCentral()

}


dependencies {

    compile "io.vertx:vertx-core:+"

}

这句话即可,这里我们使用vertx作为案例,因为我们以后还会进一步学医vertx如何使用的。

这里的mavenCentral是设置jar文件从哪里下载的,可以选择maven的中心库,可以选择jcenter的库,这里我们就选择maven的库算了。

最后一个+号是版本号,是使用最新版本的意思,如果你想使用最新版本,可以直接使用+,或者改成固定版本。

但是,大家注意,如果仅仅这样写,打包时,依赖关系将不会打包到单文件的jar中去。这样一来,使用的时候就需要将执行的jar文件于依赖的jar文件放在同一个目录中。使用会有点不方便。因此还需要在jar的参数中添加下下面的话。

from {

    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

}

下面才是完整的build.gradle

apply plugin:'java'

repositories {
    mavenCentral()
}

dependencies {
    compile "io.vertx:vertx-core:3.7.1"
}

jar {
    manifest {
        attributes 'Main-Class': 'Main'
    }
    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

对应的,我们将Main.java也修改为最小化的vertx程序。

import io.vertx.core.Vertx;

public class Main {
    public static void main (String args[]) {
        System.out.println("Hello world");
        // Create an HTTP server which simply returns "Hello World!" to each request.
        Vertx.vertx()
            .createHttpServer()
            .requestHandler(req -> {
                req.response()
                    .putHeader("content-type", "text/plain")
                    .end("Hello from Vert.x!");
            })
            .listen(8080, handler -> { 
                if (handler.succeeded()) {
                    System.out.println("create httpserver success");
                } else {
                    System.err.println("create httpserver fail");
                }
            });
    }
}

然后运行,就可以直接通过浏览器访问了。


文章作者:沃航科技

优秀产品推荐:可编程网络IO控制器

上一篇:一点一点学vart.x(一)

下一篇:一点一点学vart.x(三)

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务