V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kalman03
V2EX  ›  分享创造

一个更好用的 Maven 搜索引擎

  •  
  •   kalman03 · 2022-09-14 22:59:04 +08:00 · 25828 次点击
    这是一个创建于 836 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Apache Maven 是一款非常优秀的软件项目管理工具,对于 Java 生态的开发者们再熟悉不过了。

    在多年的开发过程中,对现有的 Maven 生态工具颇有微词,主要体现在:

    1. Maven 中央仓库搜索引擎仅提供一个非常简单的关键字搜索,有时候需要检索某个具体的类名或包名,还要去看 API 帮助,使用起来颇为不便。mvnrepository.com作为备选搜索引擎方案,同样不提供根据类名、包名、SHA1 值搜索,更甚者,很多时候一访问就要检测你“I am human”,每次都是狮子、轮船、自行车、飞机......简直目不忍睹,望而生畏;
    2. 随着 JAVA 8 以后版本变化重大,在使用多 Java 版本的环境中,对经常使用 mvn 命令行的同学,真是一个灾难,不小心一行命令,可能把 Java8 的 Jar 包以 Java11/17 高版本 deploy 到了 Maven 私有仓库,那滋味真是酸爽;
    3. 历史项目,或者一些想升级 Jar 包依赖,如何快速批量发现可以升级的依赖,真是一个技术难题。特别是遇到一些使用频率高而又爆出重大漏洞时,全面自动化检测工具显得尤其重要。
    4. ......

    基于以上种种原因,我开发了mvncenter.com

    Mvncenter的目标只有一个:提供一个更好的 Maven 搜索引擎并持续完善 Maven 生态周边工具,成为全球开发者心中高效的 Maven 生态工具中心

    第一个版本郑重上线,欢迎各位技术同学体验:

    链接直达:mvncenter.com

    第 1 条附言  ·  2022-09-15 11:02:49 +08:00

    第一次在product hunt上发布

    mvncenter - A better maven search engine and maven tools center | Product Hunt

    99 条回复    2024-02-01 19:11:55 +08:00
    LeegoYih
        1
    LeegoYih  
       2022-09-15 09:40:43 +08:00   ❤️ 1
    kalman03
        2
    kalman03  
    OP
       2022-09-15 10:00:16 +08:00   ❤️ 3
    @LeegoYih 感谢你打破了 0 回复。

    Maven 中央仓库是一切的基础,只是说它有改进的空间,所以,我做了些改进。
    试试:
    https://www.mvncenter.com/search/io.netty/netty-all/4.1.82.Final (详情页)
    https://www.mvncenter.com/search/io.netty/netty-all (所有版本页)
    https://www.mvncenter.com/search?q=62a4896c164f4095cfcf7c7b58f35741e092b3eb&filters=sha1 (根据 sha1 搜索)
    https://www.mvncenter.com/search?q=io.netty.handler.codec.http.FullHttpRequest&filters=fullClassName (根据类名检索)
    K1W1
        3
    K1W1  
       2022-09-15 20:56:28 +08:00 via Android
    不错
    ob
        4
    ob  
       2022-09-15 20:59:35 +08:00
    很不错,支持!
    sutra
        5
    sutra  
       2022-09-15 21:21:06 +08:00
    > Maven 中央仓库搜索引擎仅提供一个非常简单的关键字搜索,有时候需要检索某个具体的类名或包名
    c:, fc:
    kalman03
        6
    kalman03  
    OP
       2022-09-15 21:31:46 +08:00
    @sutra 是的,是有这个功能。就好比要看某个网站在搜索引擎的收录情况,要加个 site:,体验起来还是不够顺畅。我做了些改进。
    subframe75361
        7
    subframe75361  
       2022-09-16 08:04:10 +08:00
    很不错,先插个眼
    AllenHua
        8
    AllenHua  
       2022-09-16 09:10:19 +08:00   ❤️ 1
    域名不错哇

    Copy Success 的文案感觉有点怪怪的,Copy successfully 似乎更好,但是太啰嗦了,国外有些网站上用的 Copied ,已复制(复制成功),一个词表达复制的动作+时态,更精确并且简洁。
    superzzy
        9
    superzzy  
       2022-09-16 09:11:58 +08:00
    试了一下,检索很快
    jorneyr
        10
    jorneyr  
       2022-09-16 09:31:06 +08:00
    挺好用的,收藏
    kalman03
        11
    kalman03  
    OP
       2022-09-16 09:47:03 +08:00
    @AllenHua 哈。。。尴尬了,已改为:Copied ,话说英文版是 google 直译的,估计惨不忍睹......
    xaplux
        12
    xaplux  
       2022-09-16 10:56:20 +08:00
    搜素结果排名是什么规则?
    比如我打算搜素 lombok ,我期望的结果是 org.projectlombok ,https://search.maven.org/search?q=lombok 这个结果是我期望的,
    但是 mvncenter 搜素出来第一个是 com.github.kokorin.lombok:lombok-presence-checker https://www.mvncenter.com/search?q=lombok
    cweijan
        13
    cweijan  
       2022-09-16 11:03:06 +08:00
    我试了下搜索 spring boot, 前面大部分都是无关的..
    kalman03
        14
    kalman03  
    OP
       2022-09-16 11:24:08 +08:00
    @xaplux
    @cweijan
    提了个非常好的问题,mvncenter 的数据来源 maven 中央仓库,已优化这个排序规则。
    mamumu
        15
    mamumu  
       2022-09-16 11:50:43 +08:00
    收藏了
    lululau
        16
    lululau  
       2022-09-16 17:32:31 +08:00
    界面能不能换成 TUI 的,正经程序员谁用浏览器搜啊,鼠标点来点去的
    kalman03
        17
    kalman03  
    OP
       2022-09-16 18:01:59 +08:00
    @lululau 恕我无知,什么是 TUI ?
    K1W1
        18
    K1W1  
       2022-09-16 18:05:13 +08:00
    网站很好,但是跟楼上几位一样,感觉搜索结果排序不太智能,可以对比一下

    https://mvnrepository.com/search?q=spring%20boot

    https://www.mvncenter.com/search?q=spring+boot

    筛选成本比较高,另外不能快捷复制依赖信息?
    kalman03
        19
    kalman03  
    OP
       2022-09-16 18:10:09 +08:00
    @K1W1 排序问题我今晚做下改进,快捷复制是指直接复制最新版本的依赖?
    K1W1
        20
    K1W1  
       2022-09-16 23:08:34 +08:00
    不好意思,看到了复制的地方了,刚开始没找到
    darrenfang
        21
    darrenfang  
       2022-09-17 10:33:10 +08:00
    这字体颜色看起来有点难受
    kalman03
        22
    kalman03  
    OP
       2022-09-17 10:58:49 +08:00
    @darrenfang UI 和前端真是戳中要害了
    Asimov01
        23
    Asimov01  
       2022-09-18 10:37:39 +08:00
    支持!
    lazyfighter
        24
    lazyfighter  
       2022-09-19 09:16:30 +08:00
    问题你解决了吗? 你怎么解决的?补充一下更好
    kalman03
        25
    kalman03  
    OP
       2022-09-19 09:29:26 +08:00
    @lazyfighter 目前仅针对一些热门常用的库,做了一些关键字二次处理,比如你搜索 spring ,强制了 groupId 为 org.springframework 和 org.springframework.boot 的数据,暂时还没有更好的解决方案。
    DinnyXu
        26
    DinnyXu  
       2022-10-21 10:22:18 +08:00
    https://cdn.xycloud.site/Xnip2022-10-21_10-19-00.jpg
    这个搜索结果为什么与中央仓库不一样,中央仓库的数据是对的,你的结果不对哦。这是排序的问题吗
    Qlccks2
        27
    Qlccks2  
       2022-10-21 10:28:27 +08:00
    能加一列文件大小吗?
    tooroot
        28
    tooroot  
       2022-10-21 11:12:38 +08:00
    https://www.mvncenter.com/search?q=commons-net 显示的最新版本号和更新时间不对
    另外详情页 banner 也加个搜索框?
    zhady009
        29
    zhady009  
       2022-10-21 11:52:43 +08:00
    感觉排序还可以优化下,比如搜索 redisson spring boot 第一个排名是一个不常用的官方的排到了第 3 个
    kalman03
        30
    kalman03  
    OP
       2022-10-21 12:03:32 +08:00
    @DinnyXu 是的,这个是排序的问题。

    @Qlccks2 是下载的地方吗?

    @tooroot 最新版本确实存在一些问题,抱歉。banner 页面可以搜索框,哈........
    kalman03
        31
    kalman03  
    OP
       2022-10-21 12:04:19 +08:00
    @zhady009 收到。
    kalman03
        32
    kalman03  
    OP
       2022-10-21 12:05:41 +08:00   ❤️ 1
    @zhady009 勾选 只限制 Jar 包应该第一个是想要的结果,现在把类型为 pom 的也列出来了。
    https://www.mvncenter.com/search?q=%20redisson%20spring%20boot%20&filters=&type=jar
    Qlccks2
        34
    Qlccks2  
       2022-10-21 12:21:56 +08:00
    @kalman03 #29 所有版本列表页
    xiaoxing0086
        35
    xiaoxing0086  
       2022-10-21 12:59:57 +08:00
    很好 搜索的时候下拉框加上补全就完美了
    kalman03
        36
    kalman03  
    OP
       2022-10-21 13:51:20 +08:00
    @Qlccks2 已加。
    DinnyXu
        37
    DinnyXu  
       2022-10-21 14:18:21 +08:00
    wangxiaoaer
        38
    wangxiaoaer  
       2022-10-21 14:39:28 +08:00
    提一个建议,不一定对:目前搜索过滤条件 pom jar 等等感觉同时启用的概率不大,这几个应该是互斥的,所以作为 checkbox 感觉没有必要。可以将搜索结果通过 tab 页方式展示,默认展示 jar 类型的。
    Qlccks2
        39
    Qlccks2  
       2022-10-21 14:42:13 +08:00
    @kalman03 #35 🐮 真速度
    kalman03
        40
    kalman03  
    OP
       2022-10-21 15:04:41 +08:00
    @wangxiaoaer 确实是的,当时在做这个的时候也纠结了一阵子,等我想想怎么做更好的交互呈现,感谢你的反馈。
    kalman03
        41
    kalman03  
    OP
       2022-10-21 15:06:09 +08:00
    @xiaoxing0086 哈,这个复杂一点,放本周末加。
    sonnyhcl
        42
    sonnyhcl  
       2022-10-23 11:55:41 +08:00
    换域名了?
    kalman03
        43
    kalman03  
    OP
       2022-10-24 08:54:19 +08:00
    @sonnyhcl 没有啊,之前你记忆里面是什么?^_^
    ajaxgoldfish
        44
    ajaxgoldfish  
       2022-10-25 14:04:50 +08:00 via Android
    支持
    fenglangjuxu
        45
    fenglangjuxu  
       2022-10-28 17:03:20 +08:00
    很不错 希望可以长久
    kalman03
        46
    kalman03  
    OP
       2022-10-28 22:20:09 +08:00
    @fenglangjuxu 1 年后再来看看。
    Xhack
        47
    Xhack  
       2022-11-11 13:28:20 +08:00
    @LeegoYih 你这个 和 OP 发的 只是 页面不一样 内容一模一样啊
    leeshong27
        48
    leeshong27  
       2022-11-16 12:22:15 +08:00
    绿色字体有点刺眼
    guooo
        49
    guooo  
       2022-11-16 16:48:00 +08:00
    很不错
    zbatman
        50
    zbatman  
       2022-11-30 09:32:42 +08:00
    @lululau 正经程序员谁用 maven 啊,不都是在 linux 上用 vim 手写轮子吗?
    superychen
        51
    superychen  
       2022-11-30 09:39:54 +08:00
    看着不错,赞一个
    lstz
        52
    lstz  
       2022-11-30 18:20:24 +08:00
    赞,我们团队自从知道 mvncenter 之后就把 mvnrepository 抛到脑后了,感谢大佬的付出,这是一个很不错的网站。 特别是 mvnrepository 的一些痛点,真的太痛了,能有国人开发者一起来改善这块体验,真的是对国内软件生态起到很重要的帮助。

    鄙团队也做了类似 Maven 的快速检索功能页,仅适用于本地快速检索+拷贝。涉及到依赖分析与分类这一块,OP 主这个网站许多功能都会更详实一些。

    CodeGen 工具箱的 Maven 中文仓库速查功能,https://1024doc.com/exts/MavenRepo
    kalman03
        53
    kalman03  
    OP
       2022-11-30 18:32:05 +08:00   ❤️ 1
    @lstz 感谢,你的网站也不错。
    lstz
        54
    lstz  
       2022-11-30 18:38:14 +08:00
    @kalman03 🌹一起加油冲
    timnottom
        55
    timnottom  
       2022-12-01 10:14:28 +08:00
    给你一个建议,复制就不要跳转新的界面了。

    用 modal 之类 的更好,找一个包跳转 3 次,,,,
    kalman03
        56
    kalman03  
    OP
       2022-12-01 14:44:19 +08:00
    @timnottom 这个怎么说呢,目前是支持直达的,但是链接太多可能给迷惑了,我想想怎么改善。目前的展示:

    deco
        57
    deco  
       2022-12-02 10:12:43 +08:00
    有 idea 插件不?
    kalman03
        58
    kalman03  
    OP
       2022-12-02 11:19:47 +08:00
    @deco 不是很清楚,我一直用的是 eclipse 。老哥有兴趣可以开发一个,我可以开放 API 支持
    trimleo
        59
    trimleo  
       2022-12-05 20:52:47 +08:00
    考虑支持内网版本吗?因为公司内部一般有私服,如果支持内网的搜索就好了
    kalman03
        60
    kalman03  
    OP
       2022-12-06 09:01:40 +08:00
    @trimleo 内网一般是 nexus 搭建的吧,nexus 本身的搜索还行吧
    xiaohundun
        61
    xiaohundun  
       2022-12-07 11:59:17 +08:00
    我喜欢绿色字体
    cp19890714
        62
    cp19890714  
       2022-12-07 13:01:45 +08:00
    用了几次, 来反馈下。
    搜索结果大部分都不是我想要的,与 mvnrepository 的搜索结果差距较大。建议把 usages 加入权重。
    kalman03
        63
    kalman03  
    OP
       2022-12-07 13:59:37 +08:00
    @cp19890714 收到。
    RoccoShi
        64
    RoccoShi  
       2023-05-26 00:22:45 +08:00
    不错, 支持一下
    crazychang
        65
    crazychang  
       2023-05-26 10:29:40 +08:00
    请教个问题 可能是题外话了:
    我是做运维开发的,看到开发 pom.xml 中有这个包,但是网上找不到,有大佬知道是什么情况吗?
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-advance-common-core</artifactId>
    <version>1.0.1</version>
    </dependency>
    crazychang
        66
    crazychang  
       2023-05-26 10:33:28 +08:00
    顺便报个 bug:搜索 org.springframework.boot:spring-boot-advance-common-core 会报错,貌似是冒号的问题
    kalman03
        67
    kalman03  
    OP
       2023-05-26 10:36:04 +08:00
    @crazychang 在公共仓库找不到,可能就是你们开发同学自己打的包,并上传在你们自己的私有仓库(比如自己搭建的 nexus 里面)。

    “顺便报个 bug:搜索 org.springframework.boot:spring-boot-advance-common-core 会报错,貌似是冒号的问题”
    确实是个 bug ,晚上就修复。
    crazychang
        68
    crazychang  
       2023-05-26 11:01:30 +08:00
    @kalman03 我开始也觉得应该是他们打的包 但是问了一圈都不是 感觉只能是拿了别人二开的代码 自己也不知道吧
    ifzm
        69
    ifzm  
       2023-05-29 17:50:21 +08:00
    不错,速度快没有人机验证很重要,支持 😀
    nba2k9
        70
    nba2k9  
       2023-06-30 09:19:50 +08:00
    搜索 servlet-api ,结果页没有 <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    AlanBrian
        71
    AlanBrian  
       2023-06-30 09:34:10 +08:00
    这个绿色字体颜色太亮了,改成深绿是不是会好些
    GuryYu
        72
    GuryYu  
       2023-06-30 09:43:45 +08:00
    groupId 和 artifactId 文字连一起了,没有 mvnrepository 上分开展示的直观
    AmosLi
        73
    AmosLi  
       2023-06-30 11:25:12 +08:00
    KevinBlandy
        74
    KevinBlandy  
       2023-06-30 12:35:06 +08:00
    整得挺不错的,可以交换个友情链接吗?

    [Spring 中文文档]( https://springdoc.cn/)
    kalman03
        75
    kalman03  
    OP
       2023-06-30 16:57:36 +08:00
    @nba2k9 这样搜索是有的: https://www.mvncenter.com/search?q=javax.servlet-api ,看起来还要完善下。

    @GuryYu 这个确实看不同人的使用习惯,一般是 groupId:artifactId

    @AlanBrian 看起来大家对这个颜色都不是很喜欢,如果有下个版本我考虑下

    @KevinBlandy 换,全局友链已加。

    @AmosLi 是的,服务器抽风了下。
    mineralsalt
        76
    mineralsalt  
       2023-06-30 17:07:11 +08:00
    还有很大的改进空间, 现在不好用, 我随便搜一个 hutool , 排序规则太迷了吧, 排在第一位的不知道是哪年的版本, 我试了两个其他搜索都是把 hutool-all 排在第一位, 这才是对的
    kid1412621
        77
    kid1412621  
       2023-07-01 15:29:02 +08:00
    羡慕 dotnet tool search
    Corybyte
        78
    Corybyte  
       2023-07-07 08:50:22 +08:00
    @kalman03 交互式命令行终端
    Corybyte
        79
    Corybyte  
       2023-07-07 08:51:03 +08:00
    qingshui33
        80
    qingshui33  
       2023-07-07 09:12:58 +08:00
    不能搜索了吗?搜了个 jwt ,显示系统错误了
    wxw752
        81
    wxw752  
       2023-07-07 09:16:46 +08:00
    OOOPS!!!
    系统错误,请稍后再试
    可能系统运行超时了,或者请求出错了,请稍后再试
    cccssss
        82
    cccssss  
       2023-07-07 09:40:48 +08:00
    SYSTEM ERROR, PLEASE TRY AGAIN LATER
    Please try again later since the system may have timed out or the request may have failed.
    aa51513
        83
    aa51513  
       2023-07-13 12:03:08 +08:00 via Android
    这域名是真的不错
    knightdf
        84
    knightdf  
       2023-08-31 08:56:46 +08:00
    我一直用的 mvnrepository.com
    BlueBing
        85
    BlueBing  
       2023-08-31 10:19:09 +08:00
    我一般是使用接口从 mvn 批量拉取。
    另 OP 会考虑加入 jar 的 vuln 相关的数据吗?
    kalman03
        86
    kalman03  
    OP
       2023-09-01 09:04:33 +08:00   ❤️ 1
    @BlueBing vulnerability 有点挑战,我看看能不能支持
    huangdanyu
        87
    huangdanyu  
       2023-11-02 18:32:35 +08:00
    支持 已收藏
    pigcandance
        88
    pigcandance  
       2023-11-02 22:17:22 +08:00
    shockerli
        89
    shockerli  
       2023-11-06 10:56:31 +08:00
    请求有点慢呢
    kalman03
        90
    kalman03  
    OP
       2023-11-06 13:49:04 +08:00
    @shockerli 服务器在新加坡,可能网络稍微慢点
    leexiaolang
        91
    leexiaolang  
       2023-11-09 09:05:27 +08:00
    搜索出来的列表显示最新版本与实际最新版本不一致
    chuunshii
        92
    chuunshii  
       2023-11-09 09:11:49 +08:00
    支持一下
    kalman03
        93
    kalman03  
    OP
       2023-11-09 09:27:08 +08:00
    @leexiaolang 发出来瞅下
    leexiaolang
        94
    leexiaolang  
       2023-11-09 10:04:25 +08:00
    @kalman03 #93 点进去 hutool-all ,最新版本已经是 M7 了
    OPPO
        95
    OPPO  
       2023-11-09 14:41:48 +08:00
    建议把点击域扩大, 非得移动到文字上才能点到
    kalman03
        96
    kalman03  
    OP
       2023-11-09 22:43:19 +08:00
    @OPPO 好建议,我想想看。

    @leexiaolang 这个还真有点神奇,在 maven 中央仓库也是认为这个是最新版。。。。
    wanniwa
        97
    wanniwa  
       2023-12-29 10:08:41 +08:00
    确实好用
    ThinkStu
        98
    ThinkStu  
       2023-12-29 11:03:38 +08:00
    前两天编写了个浏览器插件,汉化了 mvnrepository

    dyv9
        99
    dyv9  
       331 天前 via Android
    jetbrains 网站上,自己做了一份 maven 索引,直接搜索它就行了,好像 idea 就是连接自己网站上搜索 maven
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   928 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.