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

一个更好用的 Maven 搜索引擎

  •  
  •   kalman03 · 261 天前 · 13903 次点击
    这是一个创建于 261 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条附言  ·  260 天前

    第一次在product hunt上发布

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

    69 条回复    2023-05-29 17:50:21 +08:00
    LeegoYih
        1
    LeegoYih  
       260 天前   ❤️ 1
    kalman03
        2
    kalman03  
    OP
       260 天前   ❤️ 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  
       260 天前 via Android
    不错
    ob
        4
    ob  
       260 天前
    很不错,支持!
    sutra
        5
    sutra  
       260 天前
    > Maven 中央仓库搜索引擎仅提供一个非常简单的关键字搜索,有时候需要检索某个具体的类名或包名
    c:, fc:
    kalman03
        6
    kalman03  
    OP
       260 天前
    @sutra 是的,是有这个功能。就好比要看某个网站在搜索引擎的收录情况,要加个 site:,体验起来还是不够顺畅。我做了些改进。
    subframe75361
        7
    subframe75361  
       259 天前
    很不错,先插个眼
    AllenHua
        8
    AllenHua  
       259 天前
    域名不错哇

    Copy Success 的文案感觉有点怪怪的,Copy successfully 似乎更好,但是太啰嗦了,国外有些网站上用的 Copied ,已复制(复制成功),一个词表达复制的动作+时态,更精确并且简洁。
    superzzy
        9
    superzzy  
       259 天前
    试了一下,检索很快
    jorneyr
        10
    jorneyr  
       259 天前
    挺好用的,收藏
    kalman03
        11
    kalman03  
    OP
       259 天前
    @AllenHua 哈。。。尴尬了,已改为:Copied ,话说英文版是 google 直译的,估计惨不忍睹......
    xaplux
        12
    xaplux  
       259 天前
    搜素结果排名是什么规则?
    比如我打算搜素 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  
       259 天前
    我试了下搜索 spring boot, 前面大部分都是无关的..
    kalman03
        14
    kalman03  
    OP
       259 天前
    @xaplux
    @cweijan
    提了个非常好的问题,mvncenter 的数据来源 maven 中央仓库,已优化这个排序规则。
    mamumu
        15
    mamumu  
       259 天前
    收藏了
    lululau
        16
    lululau  
       259 天前
    界面能不能换成 TUI 的,正经程序员谁用浏览器搜啊,鼠标点来点去的
    kalman03
        17
    kalman03  
    OP
       259 天前
    @lululau 恕我无知,什么是 TUI ?
    K1W1
        18
    K1W1  
       259 天前
    网站很好,但是跟楼上几位一样,感觉搜索结果排序不太智能,可以对比一下

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

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

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

    @Qlccks2 是下载的地方吗?

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

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

    CodeGen 工具箱的 Maven 中文仓库速查功能,https://1024doc.com/exts/MavenRepo
    kalman03
        53
    kalman03  
    OP
       184 天前   ❤️ 1
    @lstz 感谢,你的网站也不错。
    lstz
        54
    lstz  
       184 天前
    @kalman03 🌹一起加油冲
    timnottom
        55
    timnottom  
       183 天前
    给你一个建议,复制就不要跳转新的界面了。

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

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

    “顺便报个 bug:搜索 org.springframework.boot:spring-boot-advance-common-core 会报错,貌似是冒号的问题”
    确实是个 bug ,晚上就修复。
    crazychang
        68
    crazychang  
       7 天前
    @kalman03 我开始也觉得应该是他们打的包 但是问了一圈都不是 感觉只能是拿了别人二开的代码 自己也不知道吧
    ifzm
        69
    ifzm  
       4 天前
    不错,速度快没有人机验证很重要,支持 😀
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2276 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 15:43 · PVG 23:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.