首页
学习
活动
专区
工具
TVP
发布

我是攻城师

专栏成员
492
文章
1002997
阅读量
119
订阅数
深入理解jar包冲突的本质
上篇文章 记一次log4j不打印日志的踩坑记 介绍了遇到的log4j踩坑经历和解决方法,这篇文章我们重点来学习和了解下有关Java中日志组件的内容,在这之前,其实在我的头脑里,并没有形成系统的日志框架知识,原因其实是一直没有重视过这块,之前都是各种拷贝改改能跑就行,并不理解相关的架构和原理,这次趁着这个机会正好来系统了解一下,除了要系统的理解日志框架大多数知识外,我们还要学习一个非常关键的知识,就是关于Java默认的类加载器加载jar包的顺序问题,不夸张的说,只有理解了这个,才能搞明白jar冲突问题发生的本质。
我是攻城师
2019-09-25
2.2K0
在Java里面如何解决进退两难的jar包冲突问题?
es api组件依赖guava18.0,spark项目由于业务需要写入es所以需要依赖es ,但spark项目的环境又需要依赖guava14.0,如果换成高版本可能会报错,这个决定了你不能都使用统一的低版本或者高版本来规避此问题,因此必须面对现实。
我是攻城师
2019-07-27
3.1K0
如何使log4j生成json格式的log
使用java开发项目时,log日志一般都是应用程序必不可少的一部分,大部分情况下我们的log文件都是普通的文本信息,通过level来标记不同级别的日志。 日志的目的,主要还是为了出现问题时有追踪的途径,方便从里面查出原因,在数据量小的时候通过linux上的各种shell命令如awk,grep就能快速查询或者做一些简单的统计,当数据量的时候,而且程序本身还是分布式的时候,这种方式就有点费劲。比如你有10台机器,你需要登录每台查询,是非常繁琐的,而且数据量大的时候linux命令可能效率非常低。所以这个时候我们就
我是攻城师
2018-05-14
3.4K1
漫谈依赖管理工具:从Maven,Gradle到Go
为什么要有依赖管理工具谈依赖管理之前,我们先谈谈为什么要有依赖管理工具这东西。 我们学了一种编程语言,然后写了个“Hello World”,然后宣称自己学了一门语言,这时候确实不需要关心依赖问题。 然而,当你要写一个稍微复杂点的应用,那怕就是留言板这样的,需要读写数据库,就需要依赖数据库驱动,就会遇到依赖管理的问题了。 再进一步,你写了一个库,想共享给别人使用,更需要了解依赖管理的问题。 当然,如果项目足够简单,你可以直接将依赖方的源码放置在自己的项目中,或者将依赖库的二进制文件(比如jar,dll)放置在
我是攻城师
2018-05-14
2.6K0
ElasticSerach基本概念
基本概念: 学习es必须得了解一些它的基本概念,对学会学好es起着至关重要的作用。 近实时: es是一个近实时的搜索引擎,这意味着它会有轻微的延迟(正常情况上是1秒),从你添加一个文档知道它 能被搜索出来,这是由它的底层框架Lucene决定的。 集群: 一个集群通常由1台或多台节点组成,它们一起协作,横跨所有的节点,提供了统一的索引和搜索能力 一个集群必须有一个唯一的名字,默认是elasticsearch,这个名字标识是重要的,因为一个节点只能在一个集群中服务 在他们启动的时候,会
我是攻城师
2018-05-14
7680
Hadoop+Maven项目打包异常
先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上的索引,然后合并压缩,最后推送到solr服务器上 原来使用的是Ant打包,外部的jar是在执行主体的jar时cp进环境变量的,所以没有出现今天要说的这个问题,操作先把所有外部的jar的路径,拼接好一个字符串path,然后将path传入下面执行的代码 java -cp path com.xxx.xxx.Test 现在要统一项目风格,要把Ant项目转换为Maven项目,大体上没啥问题,由于不写MapReduce,仅仅使用HDFS
我是攻城师
2018-05-11
9590
Intellj IDEA+Maven如何构建多模块项目?
在使用Java构建大型企业级项目时,我们一般更倾向于分层,分模块,分服务,分功能开发,这样搞的目的只有一个就是以高内聚,低耦合方式来提高整个项目的灵活性,扩展性,复用性,当然,这里面蕴含的思想与Java的设计模式和开发原则是非常类似的,因为大公司的项目的结构一般都非常复杂,只有提前规划好开发模式,才能在以后不断扩展,迭代,重构时减少出现牵一发而动全身的情况。 企业级项目,一般都会使用Maven来构建管理项目,如何在使用maven构建一个多模块的项目呢? 假设现在我们要开发一个web项目,现在分为1个
我是攻城师
2018-05-11
3.2K0
Spring Boot开发之明月千城(一)
最近数据分析的项目也即将告一段落了,中间也积累了很多知识,特此记录一下。其中用的最爽的Web组合开发就是Intellij IDEA + Maven + Spring Boot + Velocity +
我是攻城师
2018-05-11
6900
Java学习资料汇总
国外的攻城师,总结的有关Java的资料,各位美女,帅哥们,可以利用周末,慢慢的品味了。 构建 这里搜集了用来构建应用程序的工具。 Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。 Gradle:Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。
我是攻城师
2018-05-11
2K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档