Jekyll站点生成器本地环境搭建

背景 许多开源软件的文档和站点生成器都采用Jekyll作为首选,比如Apache基金会下的Hive、Spark、Calcite等开源项目都采用Jekyll构建官方站点。看源码的时候如果遇到一些问题而此时没有网络的情况下阅读源码中携带的markdown文件多少有点不舒服,如果本地能发布一套那么再阅读起…

发布第三方jar包到Maven私服

与部分厂家业务合作时经常需要使用对方提供的第三方jar包调取定制化接口或者实现进行业务开发,jar包的管理与部署只靠人工维护是很困难的,尤其是团队合作的情况下每个人在本地单独维护一份lib,最后的结果往往是依赖管理杂乱无章。一般公司都会有自己的Maven私服,把第三方jar包上传到私服上团队成员根据…

JSON Field下划线与驼峰格式转换

背景 任何一门编程语言都有自己特有的编程规范,例如Java中标识符定义只能由字母、数字、下划线_、美元符号$组成不能含有其他符号,同时不能以数字开头、不能使用Java关键字、严格区分大小写并遵循驼峰命名方式。除了基本规范外,每个公司可能还有自己的内部其他规范,比如Java Bean转换成JSON时,…

Maven插件整合Protobuf

Protocol Buffer (简称Protobuf) 是一种跨语言、跨平台、可扩展的序列化库,可用于通信协议与数据存储等场景。与 XML相比 Protocol Buffers 更加小巧,更加快速,更加简单。一旦定义了要处理数据的数据结构之后,就可以利用 Protocol Buffers 的代码生…

Maven集成 – Maven Invoker

Maven Invoker可以避免用户因使用Maven插件而造成的系统环境污染,同时支持在当前以外的工作目录进行项目构建。Maven Invoker不会将Maven嵌入到用户的应用程序中, 同时也不会有太多依赖,因此与Maven Embedder相比显得非常轻量级。当多个构建过程同时执行时,Mave…

Maven集成 – MavenCli

Maven Embedder是Maven的一部分,属于一类嵌入式组件,支持CLI和日志记录功能。官网资料比较少,只有很短的几句介绍,如果不需要在构建过程中进行比较精细的监控和步骤跟踪,可以考虑这种集成方式。此外,Maven Embedder有很多直接和传递依赖,在实际使用中需要注意。 参考链接: h…

Maven集成 – ProcessBuilder

一般在使用maven进行程序打包过程中最常用方法是使用或者插件。最近在做项目的时候需要对用户所指定git仓库中代码进行编译打包,由于无法获取Jenkins较高授权,因此只能将用户代码从git仓库中拉取到本地进行打包,这种情况下就需要将编译打包过程集成到java代码中,因此调研了几种集成形式,以下提供…

MacOS Brew安装Thrift 0.9.3

Homebrew简介 Homebrew是一款适用于Mac OS或Linux的软件包管理器,用以简化Mac OS或Linux系统上的软件安装过程。中文主页地址:https://brew.sh/index_zh-cn,Github地址:https://github.com/Homebrew/brew。H…