前段时间终于无法忍受sbt慢如龟速的编译打包速度了。稍稍调研了一下,就果断切换到了gradle。由于调研得比较匆忙,在使用过程中遇到了各种问题。好在最后都能解决了。 我这里使用scala主要是用来编写spark job。由于我自己的一些需要
[阅读更多...]-
使用Gradle构建scala多模块工程
-
理解AOP
说下我对AOP的理解:AOP是给程序添加统一功能的一种技术。在代码层面上来说,AOP就是在必要的业务代码中织入业务无关的、统一的代码的一种技术。在实现AOP的时候,通常努力争取的目标是对业务代码无侵入或是低侵入。 平时用得比较多的是Spri
[阅读更多...] -
读史乱想一二三
王莽的出色之处在于隐忍、在于偏执。失败之处在于过度理想主义。他因为恪守古礼而得一时之利,于是便认为这条路是正确的,最后就不切实际地一条路走到黑。 杨广在治政上是有大格局的,可惜在个性上不够成熟。他的个性过于锋利、过于急切,因之容易急功近利好
[阅读更多...] -
使用ThreadLocal
之前和同事讨论过一个日期格式化的问题,程序比较简单,大体是这样: 同事并不喜欢这个代码。原因是每调用一次format方法都会创建一个SimpleDateFormat对象。虽然我一再强调SimpleDateFormat对象是方法内的,即生即灭
[阅读更多...] -
jar包中的jar
前两天在整理一个工程的时候突发奇想,能不能把需要的jar都打到一个类似于war包的jar包里面去,但是不解开原始jar包,而是将之统一放到外面jar包中的一个lib目录下。 按这个思路试了好几次,都遇到了NoClassDefFoundErr
[阅读更多...] -
Gradle中的“provided”
maven中值为provided的scope,可以让我们声明一个只在编译时使用的非传递性的依赖。在gradle中我们可以声明compileOnly依赖来实现类似的效果(需要java插件)。示例如下: compileOnly声明的使用场景可以
[阅读更多...] -
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
[阅读更多...]