maven中值为provided的scope,可以让我们声明一个只在编译时使用的非传递性的依赖。在gradle中我们可以声明compileOnly依赖来实现类似的效果(需要java插件)。示例如下: compileOnly声明的使用场景可以
[阅读更多...]-
Gradle中的“provided”
-
Gradle依赖排除
在引用依赖时经常会有这样的问题:某些间接引用的依赖项是不需要的;产生了依赖冲突。此时需要排除一些依赖。 下面的内容介绍了几种在gradle中排除依赖的方式。 在dependency中排除 这种方式是粒度最细的,也是最为繁琐的。此时可以考虑全
[阅读更多...] -
spark使用kafka报NoSuchMethodError
运行spark任务消费kafka时,报了如下的异常: 使用的spark版本是1.6.1,kafka版本是0.8.2.1。 根据异常信息猜测应该是scala版本导致的问题。 查看了一下依赖的spark和kafka的配置为: 依赖项直接copy
[阅读更多...] -
gradle: No cached version of org.scala-lang
在idea中使用gradle构建项目时总是提示失败,发现报错信息如下: 看了一下,关键是最后一行: 印象中并没有设置过离线模式。看了一下idea中gradle的设置,发现存在相关的默认设置“Offline work”。取消勾选“Offlin
[阅读更多...] -
清理idea缓存
使用idea的时候,有时调整了文件结构或pom文件就会报一些莫名其妙的错误。之前的解决方式是:打开应用目录,删除掉一系列idea生成的工程文件,而后再用idea重新打开就行了。 现在发现了一个新的解决方式:选择 菜单 -> File
[阅读更多...] -
从一段计时代码开始
下面这段代码估计是我们见过(或写过)最多的代码了: 要统计某些逻辑块的执行时间,这段代码可以说是非常简单且有效。不过如果要统计的方法很多时,为那些方法都填上这段代码就有些让人头疼了。主要有这样几个问题: 太多的重复工作; 计时内容散乱不好整
[阅读更多...] -
关于Zero Copy
概述 很多web应用都会有大量的静态文件。我们通常是从硬盘读取这些静态文件,并将完全相同的文件数据写到response socket。这样的操作需要较少的CPU,但是效率有些低,它需要经过如下的过程:kernel从硬盘读取数据,越过kern
[阅读更多...] -
SpringBoot集成Jersey的单元测试方案
使用SpringBoot集成Jersey做单元测试时遇到了application.xml找不到的提示。详情如下: 测试使用的代码大致如下: 原因是SpringBoot的Context和Jersey的Context是不同的。要修复这个问题可以
[阅读更多...] -
hbase hbck用法
在这里简单整理下hbase hbck的用法。 用法: opts通用可选项 -help 展示help信息; -detail 展示所有Region的详情; -timelag <秒级时间> 处理在过去的指定时间内没有发生过
[阅读更多...] -
在Spark上通过自定义RDD访问HBase
这里介绍一个在Spark上使用自定义RDD获取HBase数据的方案。 这个方案的基础是我们的HBase表的行键设计。行键设计大概是这样子的:标签ID+时间戳+随机码。平时的需求主要是导出指定标签在某个时间范围内的全部记录。根据需求和行键设计
[阅读更多...]