maven中央仓库油猴脚本

简介: 这是一个用于 Maven 中央仓库的油猴脚本,帮助开发者在选择依赖时查看每个 Jar 包的 JDK 版本信息。通过该脚本,用户可以在 Maven 中央仓库的组件版本列表页和详情页看到每个版本的 JDK 编译信息,从而避免因版本不兼容导致的运行问题。脚本支持从油猴商店安装或自行编译安装,并提供多种实用功能,如 GAV 快速访问详情页和展开隐藏文本等。

# maven中央仓库油猴脚本


GitHub仓库:[https://github.com/scagogogo/mvnrepository-helper-UserScript](https://github.com/scagogogo/mvnrepository-helper-UserScript)


介绍视频: [https://www.bilibili.com/video/BV13fkgYaEDn](https://www.bilibili.com/video/BV13fkgYaEDn)


![Greasy Fork Downloads](https://img.shields.io/greasyfork/dt/471802) ![Greasy Fork Rating](https://img.shields.io/greasyfork/rating-count/471802) ![GitHub Created At](https://img.shields.io/github/created-at/scagogogo/mvnrepository-helper-UserScript) ![GitHub contributors](https://img.shields.io/github/contributors-anon/scagogogo/mvnrepository-helper-UserScript) ![GitHub top language](https://img.shields.io/github/languages/top/scagogogo/mvnrepository-helper-UserScript) ![GitHub commit activity](https://img.shields.io/github/commit-activity/t/scagogogo/mvnrepository-helper-UserScript) ![GitHub Release](https://img.shields.io/github/v/release/scagogogo/mvnrepository-helper-UserScript) ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/scagogogo/mvnrepository-helper-UserScript) ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-closed/scagogogo/mvnrepository-helper-UserScript) ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr/scagogogo/mvnrepository-helper-UserScript) ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr-closed/scagogogo/mvnrepository-helper-UserScript) ![GitHub License](https://img.shields.io/github/license/scagogogo/mvnrepository-helper-UserScript) ![GitHub Repo stars](https://img.shields.io/github/stars/scagogogo/mvnrepository-helper-UserScript) ![GitHub forks](https://img.shields.io/github/forks/scagogogo/mvnrepository-helper-UserScript) ![GitHub watchers](https://img.shields.io/github/watchers/scagogogo/mvnrepository-helper-UserScript)


# 一、解决了什么问题?


我们有时会遇到要求Java项目兼容JDK 1.8的情况,有可能是部署时运行环境的要求,有可能是Java Agent类产品必须保证一定的JDK兼容性,也有可能是领导或者甲方的诉求,这个要求合理或者不合理,我们没得选只能接受这个要求并将其落实好。


但是我们开发的时候可能会持续的增加一些依赖,对于Maven的这些Jar包,在Maven中央仓库是不显示Jar包具体是哪个JDK版本编译的,如果加错版本了可能我们的项目就无法运行了,因为JDK 1.8是无法加载解释JDK 1.9版本编译出来的Class文件的,则我们加依赖的时候就得小心翼翼,甚至可能得采取二分法试探出合适的版本(经历过的都能体会这是多么让人崩溃),而这个脚本就是用来解决这个问题的,它给Maven的中央仓库里的组件的版本增加了显示对应JDK版本的功能,这样我们再来选择组件版本的时候,就能根据自己要兼容到的JDK版本来选择合适的版本:


![](data/demo-video.gif)


# 二、安装


## 2.1 从油猴商店安装(推荐方式)


首先你应该已经安装了油猴插件:


[https://chromewebstore.google.com/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo](https://chromewebstore.google.com/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo)


然后从油猴商店直接安装此脚本即可:


[https://greasyfork.org/zh-CN/scripts/471802-repo1-maven-org-helper](https://greasyfork.org/zh-CN/scripts/471802-repo1-maven-org-helper)


## 2.2 自行编译


克隆仓库到本地:


```bash

git clone git@github.com:scagogogo/mvnrepository-helper-UserScript.git

```


进入克隆到的本地目录:


```bash

cd mvnrepository-helper-UserScript

```


安装依赖(yarn):


```bash

yarn install

```


或者npm:


```bash

npm install

```


然后打包(yarn):


```bash

yarn build

```


或者npm:


```bash

npm run build

```


打好包的文件在`dist/index.js`中,以`dist/index.js`中的内容创建一个新的油猴组件即可:


![image-20241216015544138](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241216015544138.png)


# 三、功能详细介绍


## 3.1 组件版本列表页展示每个版本Jar包的JDK版本


在组件的版本列表页面这里,增加了一列,展示组件的每个版本的具体的JDK编译信息:


![image-20241216013810124](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241216013810124.png)


JDK编译信息分为两部分,一部分是从Jar包中的每个class文件中分析出的编译版本:


![image-20241216013918398](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241216013918398.png)


比如上面的信息表示Jar包中共有178个class文件,其中177个是JDK 1.6版本编译的,而1个class是JDK 1.9版本编译的,这个时候如果想使用这个Jar包的话,比较保险的运行时JDK版本至少应该是1.9及以上。


还有一部分是从Jar包的`META-INF/MANIFEST.MF`文件中解析出来的编译元信息,这是因为虽然我们能够从Jar包中的每个class文件的编译版本分布情况推测出我们至少应该使用哪个JDK版本来运行此Jar包,但是有的时候Jar包编译的时候会往Jar包的`META-INF/MANIFEST.MF`中放一些元信息,其中可能就会有一些编译相关的元信息,虽然实际加载解释class文件的时候只看class的文件头的编译版本,但不确定会不会有一些特殊情况是由元信息决定的最低运行JDK版本,所以把这个信息也放到这里作为参考:


![image-20241216014151485](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241216014151485.png)


## 3.2 组件版本详情页展示编译JDK版本信息


在组件的详情页也展示了此组件的此版本是用哪个JDK版本编译的:


![image-20241216014633039](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241216014633039.png)


## 3.3 GAV快速访问详情页


不开启脚本的情况:


![image-20230521195256248](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521195256248.png)


开启脚本之后会在页面底部增加几个输入框,在输入框中输入`GroupId`、`ArticleId`、`Version`之后单击`Go`按钮访问到对应的详情页:


![image-20230521195239339](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521195239339.png)


比如这样,输入`fastjson`的`groupId`、`articleId`、`version`单击`Go`按钮可将当前页面定位到:


```plaintext

https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.9/

```


![image-20230521200329668](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521200329668.png)


其中`ArticleId`和`Version`都是可以省略的,比如省略`Version`:


![image-20230521200922731](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521200922731.png)


比如同时省略`ArticleId`和`Version`:


![image-20230521200948849](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521200948849.png)


其中GroupId可以输入`com.alibaba:fastjson`的形式:


![image-20230521200804487](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230521200804487.png)


另外三个输入框都有历史输入记录。


## 3.4 展开因为过长而被隐藏的文本


开启插件之前,可以看到文本超出部分都被隐藏了,当他们前缀相似的时候很难区分到底谁是谁:


![image-20230727112824602](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230727112824602.png)


开启插件之后,将被隐藏的文本显示全,同时保证布局不会乱掉(在某些窄屏可能会有问题,稍微宽一点的屏基本都没问题):


![image-20230727112809379](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230727112809379.png)


在详情页未开启插件:


![image-20230727113109999](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230727113109999.png)


开启了插件之后:


![image-20230727113126701](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20230727113126701.png)


# 四、FAQ


![image-20241218030043456](https://gh.api.99988866.xyz/https://raw.githubusercontent.com/scagogogo/mvnrepository-helper-UserScript/main/README.assets/image-20241218030043456.png)


# 五、Contributors


![](https://contrib.nn.ci/api?repo=scagogogo/mvnrepository-helper-UserScript)


# 六、Star History


![](https://starchart.cc/scagogogo/mvnrepository-helper-UserScript.svg)

目录
相关文章
|
18小时前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
|
7天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
9天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
8591 20
|
13天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4599 11
资料合集|Flink Forward Asia 2024 上海站
|
13天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
21天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
9天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
9天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
761 45
|
6天前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
641 243
|
3天前
|
弹性计算 运维 监控
云服务测评 | 基于云服务诊断全方位监管云产品
本文介绍了阿里云的云服务诊断功能,包括健康状态和诊断两大核心功能。作者通过个人账号体验了该服务,指出其在监控云资源状态和快速排查异常方面的优势,同时也提出了一些改进建议,如增加告警配置入口和扩大诊断范围等。