Jupiter学习笔记(二)pom

这一篇主要介绍pom,对项目的整体理解帮助不大,纯粹是个人习惯(本人喜欢先看pom再看具体代码),可以略过不看

我们首先来看看pom里引入了什么jar包

1. 上半部分

<properties>
    	<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <netty.version>4.1.6.Final</netty.version>
        <jmh.version>1.9.3</jmh.version>
        <barchart.version>2.3.0</barchart.version>
        <hessian.version>4.0.38</hessian.version>
        <kryo.version>2.23.0</kryo.version>
        <protostuff.version>1.5.2</protostuff.version>
        <objenesis.version>2.1</objenesis.version>
        <asm.version>5.2</asm.version>
        <javassist.version>3.19.0-GA</javassist.version>
        <bytebuddy.version>1.6.3</bytebuddy.version>
        <disruptor.version>3.3.2</disruptor.version>
        <metrics.version>3.1.2</metrics.version>
        <slf4j.version>1.7.5</slf4j.version>
        <junit.version>4.12</junit.version>
        <hamcrest.version>1.3</hamcrest.version>
        <curator.version>2.9.1</curator.version>
        <zookeeper.version>3.4.6</zookeeper.version>
        <spring-framework.version>4.3.0.RELEASE</spring-framework.version>
    </properties>

2. 下半部分

<!-- # netty dependency: begin -->
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-common</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-buffer</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-codec</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-udt</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <!-- scope: runtime -->
                <groupId>com.barchart.udt</groupId>
                <artifactId>barchart-udt-bundle</artifactId>
                <version>${barchart.version}</version>
            </dependency>
            <!-- # netty dependency: end -->
<!-- # serialization dependency: begin -->
            <dependency>
                <groupId>com.caucho</groupId>
                <artifactId>hessian</artifactId>
                <version>${hessian.version}</version>
            </dependency>
            <dependency>
                <groupId>com.esotericsoftware.kryo</groupId>
                <artifactId>kryo</artifactId>
                <version>${kryo.version}</version>
            </dependency>
            <dependency>
                <groupId>io.protostuff</groupId>
                <artifactId>protostuff-core</artifactId>
                <version>${protostuff.version}</version>
            </dependency>
            <dependency>
                <groupId>io.protostuff</groupId>
                <artifactId>protostuff-runtime</artifactId>
                <version>${protostuff.version}</version>
            </dependency>
            <!-- # serialization dependency: end -->

            <!-- # common dependency: begin -->
            <!-- ## required dependency: begin -->
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${objenesis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${bytebuddy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-core</artifactId>
                <version>${metrics.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- ## required dependency: end -->

            <!-- ## optional dependency: begin -->
            <dependency>
                <!-- scope: provided  -->
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- ### zookeeper dependency: begin 只有在依赖[jupiter-registry-zookeeper]时才会需要它 -->
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jline</groupId>
                        <artifactId>jline</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>${curator.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>${curator.version}</version>
            </dependency>
            <!-- ### zookeeper dependency: end -->

            <!-- ### spring dependency: begin 只有在依赖[jupiter-spring-support]时才会需要它 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring-framework.version}</version>
            </dependency>
            <!-- ### spring dependency: end -->

            <!-- ### benchmark: begin -->
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <!-- ### benchmark dependency: end -->
            <!-- ## optional dependency: end -->
            <!-- # common dependency: end -->
        </dependencies>

OK,头大,好多东西,其实还跟第一篇博客一样,按类型分组,分开来看

1. netty部分

    common,buffer,codec,handler,transport,transport-native-epoll,transport-udt,barchart-udt-bundle

    稍微解释一下,transport包比较多,想知道这些包是干啥的,直接百度epoll和udt,这里实在解释不清楚。

2. serialization部分

    hessian,kryo,protostuff-core,protostuff-runtime

    这个也很简单,序列化的包

3. required部分

    这个类别的包里我有很多不懂,这里记录下来

    objenesis:主要作用,绕过java构造方法来创建实例

    asm:记得是aop用的东东

    javassist:可以执行字节码操作的函数库(不是太明白)

    byte-buddy:字节码操作工具(还是不太明白,没用过)

    disruptor:据说是个并发框架,为啥这里用也不清楚

    metrics-core:继续懵逼中,这是百度到的主要核心功能:

  • Metrics Registries类似一个metrics容器,维护一个Map,可以是一个服务一个实例。
  • 支持五种metric类型:Gauges、Counters、Meters、Histograms和Timers。
  • 可以将metrics值通过JMX、Console,CSV文件和SLF4J loggers发布出来。

4. zookeeper  这个没啥可说的,zookeeper的注册中心

5. spring 这个更不用说了

6. jmh 这是jvm基准测试工具(第一次见到)

7. hamcrest 据说这个叫书写匹配器(也是第一次见到)

OK,这样就看完整个pom了,虽然有很多东东不知道是干嘛的,但是再后面的学习中,一定能搞懂!

转载于:https://my.oschina.net/u/3244751/blog/830925

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值