sonar整合阿里java规范开发历程

简介: sonar整合阿里java规范开发历程


sonar整合阿里java规范开发历程

1.  在准备做sonar整合阿里java规范开发的sonar-pmd插件的时候,首先上网找相关整合的经验,看到的是博客中综合考虑,觉得这篇博客应该可以:  https://www.jianshu.com/p/b849175dd38b  这篇博客不管是从博客段落设计还是从大概扫过一遍内容之后的感触,都觉得挺靠谱的,然后就根据博主提供的git地址下载了博主的源码,随后根据咱们自己系统的要求对博主的源码按其博文描述的操作步骤进行相应的筛减,然后开始clean  install 打jar包,报错,根据报错日志提示信息百度谷歌一波搜索解决一个报错,继续clean install  打jar包,报错(不是同一个错),继续解决问题…在如此解决了几次问题之后仍是无法clean install 成功。

2. 由于一直无法clean install成功,且不知道是自己将源码改错还是其源码本身就是不通的,随后将最初下载的源码包重新解压,不做任何更改clean install,仍报错,…

3. 在别人修改源码的基础上进行修改,对原博主代码依赖较高,且出问题不好解决,此路不通。


4.  针对sonar整合阿里java规范,以及网上了解到的别人的方案,需将阿里java规范整合在sonar的pmd插件中,将整合后的pmd插件以插件的形式应用在sonar服务,既然基于别人整合半成品的方案无法走通,那就上述到sonar-pmd插件源码,基于一份干净的sonar-pmd插件源码进行个性化开发,随后下载了与当前sonar版本匹配(7.3)的sonar-pmd插件源码进行开发

5. 为了排除sonar-pmd插件源码是否真实可用的疑问,此次直接将sonar-pmd源码clean install  打出jar包放入sonar服务,sonar正常启动,且在sonar页面可以看到对应的代码规则;后将阿里java规范整合在当前sonar-pmd源码的配置文件中,且导入基于阿里java规范开发源码打包p3c-pmd-1.3.6.jar,将项目clean  install  成功,得到sonar-pmd插件,将此jar包放入sonar服务,正常启动,sonar页面可以看到成功加入的阿里java规范53条,sonar整合阿里java规范成功,但是…

6.  将sonar整合jenkins配置到具体项目进行检测时,检测过程一直报错,在调整了jenkins对应项目的sonar配置后,仍无法解决,而将sonar的代码规则配置为其他java规则进行扫描,则正常扫描,论证jenkins项目sonar配置正常,上面开发的整合阿里java规范版的sonar-pmd   jar包有异常,根据异常信息再次返回sonar-pmd进行排查,在解决多次异常之后仍无法正常配合jenkins代码扫描成功…且网上针对此版本未有整合阿里java规范的操作记录


7.  针对上面的情况,采用李爽提出的降低sonar版本的方法,后将sonar版本将至6.5,此次将sonar-pmd对应6.5版本的插件下载之后,基于jar包的基础上进行阿里java规范整合的配置文件的修改,整合成功后将jar放入sonar服务重启服务,配置sonar代码规则后并整合jenkins  项目配置文件进行代码扫描,正常无报错,sonar整合阿里java规范完成。

8. 此文成文较早,现在阿里开发规范已更新至最新版,在这里发出这篇过去的开发历程来为以后开发提供借鉴,仅供参考


相关文章
|
1天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
14 4
|
12天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
54 8
|
7天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
7天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
20 2
|
7天前
|
监控 Java 数据库连接
在Java开发中,数据库连接管理是关键问题之一
在Java开发中,数据库连接管理是关键问题之一。本文介绍了连接池技术如何通过预创建和管理数据库连接,提高数据库操作的性能和稳定性,减少资源消耗,并简化连接管理。通过示例代码展示了HikariCP连接池的实际应用。
13 1
|
16天前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
18天前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
1天前
|
Java API Android开发
kotlin和java开发优缺点
kotlin和java开发优缺点
WK
|
7天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
16 0
WK
|
7天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
10 0