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

一个更好用的 Maven 搜索引擎

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

    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  
       308 天前
    不错, 支持一下
    crazychang
        65
    crazychang  
       307 天前
    请教个问题 可能是题外话了:
    我是做运维开发的,看到开发 pom.xml 中有这个包,但是网上找不到,有大佬知道是什么情况吗?
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-advance-common-core</artifactId>
    <version>1.0.1</version>
    </dependency>
    crazychang
        66
    crazychang  
       307 天前
    顺便报个 bug:搜索 org.springframework.boot:spring-boot-advance-common-core 会报错,貌似是冒号的问题
    kalman03
        67
    kalman03  
    OP
       307 天前
    @crazychang 在公共仓库找不到,可能就是你们开发同学自己打的包,并上传在你们自己的私有仓库(比如自己搭建的 nexus 里面)。

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

    [Spring 中文文档]( https://springdoc.cn/)
    kalman03
        75
    kalman03  
    OP
       272 天前
    @nba2k9 这样搜索是有的: https://www.mvncenter.com/search?q=javax.servlet-api ,看起来还要完善下。

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

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

    @KevinBlandy 换,全局友链已加。

    @AmosLi 是的,服务器抽风了下。
    mineralsalt
        76
    mineralsalt  
       272 天前
    还有很大的改进空间, 现在不好用, 我随便搜一个 hutool , 排序规则太迷了吧, 排在第一位的不知道是哪年的版本, 我试了两个其他搜索都是把 hutool-all 排在第一位, 这才是对的
    kid1412621
        77
    kid1412621  
       271 天前
    羡慕 dotnet tool search
    Corybyte
        78
    Corybyte  
       265 天前
    @kalman03 交互式命令行终端
    Corybyte
        79
    Corybyte  
       265 天前
    qingshui33
        80
    qingshui33  
       265 天前
    不能搜索了吗?搜了个 jwt ,显示系统错误了
    wxw752
        81
    wxw752  
       265 天前
    OOOPS!!!
    系统错误,请稍后再试
    可能系统运行超时了,或者请求出错了,请稍后再试
    cccssss
        82
    cccssss  
       265 天前
    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  
       259 天前 via Android
    这域名是真的不错
    knightdf
        84
    knightdf  
       210 天前
    我一直用的 mvnrepository.com
    BlueBing
        85
    BlueBing  
       210 天前
    我一般是使用接口从 mvn 批量拉取。
    另 OP 会考虑加入 jar 的 vuln 相关的数据吗?
    kalman03
        86
    kalman03  
    OP
       209 天前   ❤️ 1
    @BlueBing vulnerability 有点挑战,我看看能不能支持
    huangdanyu
        87
    huangdanyu  
       147 天前
    支持 已收藏
    shockerli
        89
    shockerli  
       143 天前
    请求有点慢呢
    kalman03
        90
    kalman03  
    OP
       143 天前
    @shockerli 服务器在新加坡,可能网络稍微慢点
    leexiaolang
        91
    leexiaolang  
       140 天前
    搜索出来的列表显示最新版本与实际最新版本不一致
    chuunshii
        92
    chuunshii  
       140 天前
    支持一下
    kalman03
        93
    kalman03  
    OP
       140 天前
    @leexiaolang 发出来瞅下
    leexiaolang
        94
    leexiaolang  
       140 天前
    @kalman03 #93 点进去 hutool-all ,最新版本已经是 M7 了
    OPPO
        95
    OPPO  
       140 天前
    建议把点击域扩大, 非得移动到文字上才能点到
    kalman03
        96
    kalman03  
    OP
       140 天前
    @OPPO 好建议,我想想看。

    @leexiaolang 这个还真有点神奇,在 maven 中央仓库也是认为这个是最新版。。。。
    wanniwa
        97
    wanniwa  
       90 天前
    确实好用
    ThinkStu
        98
    ThinkStu  
       90 天前
    前两天编写了个浏览器插件,汉化了 mvnrepository

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