V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zede486
V2EX  ›  Java

我发现 maven 对新手真的很不友好啊

  •  2
     
  •   zede486 · 2019-10-08 16:33:58 +08:00 · 7746 次点击
    这是一个创建于 1898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    整体感觉 maven 就像是模块管理工具一样, 下载开发中需要部署的 jar. 但是相对于 python web 开发来说, 我一个 pip install -r modules.txt 就可以解决的问题, 使用 maven 命令就算是看着官方文档也经常出错啊, 真的很无语.....

    41 条回复    2019-10-10 09:35:17 +08:00
    yidinghe
        1
    yidinghe  
       2019-10-08 16:44:30 +08:00
    磨合期是会有的,碰到什么具体问题提出来吧。
    lawler
        2
    lawler  
       2019-10-08 16:50:09 +08:00   ❤️ 6
    那是你还不知道 gradle...更不友好
    djFFFFF
        3
    djFFFFF  
       2019-10-08 16:56:58 +08:00   ❤️ 1
    我觉得 sbt 更不友好
    nicevar
        4
    nicevar  
       2019-10-08 17:00:17 +08:00
    mvn package 跟 python 的 pip install 没多大区别,有些 python 项目你拉过来 pip install 照样出错,解决问题不比 maven 简单
    chendy
        5
    chendy  
       2019-10-08 17:00:40 +08:00
    除非 IDEA 的 maven 插件抽风,或者有特殊需要,否则从来不敲命令…
    murmur
        6
    murmur  
       2019-10-08 17:01:26 +08:00
    你们公司 maven 没有自建仓库么? maven 很多问题都是网络问题,有了私有仓库随便搞,而且 ide 刷新包什么也都很方便
    Jrue0011
        7
    Jrue0011  
       2019-10-08 17:06:54 +08:00
    有 IDE 的情况下,一般不需要自己手敲命令构建项目吧。。。
    Mogugugugu
        8
    Mogugugugu  
       2019-10-08 17:06:56 +08:00
    相比 Gradle Maven 很良心了 = =
    BCy66drFCvk1Ou87
        9
    BCy66drFCvk1Ou87  
       2019-10-08 17:08:21 +08:00 via Android
    用 IDE
    WangBold
        10
    WangBold  
       2019-10-08 17:30:13 +08:00
    借楼问一下为什么 gradle 不友好?
    我先接触的 gradle,后来才接触 maven,感觉区别不是很大,而且 maven 的 xml 感觉累赘。
    不友好是因为命令吗?
    BBCCBB
        11
    BBCCBB  
       2019-10-08 17:32:38 +08:00
    maven 和 gradle 虽然比 pip 复杂的多,但是解决的问题也比 pip 多得多。

    pip 有很多局限
    Takamine
        12
    Takamine  
       2019-10-08 17:36:53 +08:00 via Android
    直接用 IDE 吧,难道你是要到服务器上去构建。_(:з」∠)_
    LeeSeoung
        13
    LeeSeoung  
       2019-10-08 17:58:03 +08:00
    只要仓库是同一个 基本没啥大坑。。
    zhybb2010
        14
    zhybb2010  
       2019-10-08 18:12:19 +08:00   ❤️ 1
    Maven 还是棒棒的,你去瞅瞅 Gradle,那都是啥玩意儿!
    uxstone
        15
    uxstone  
       2019-10-08 18:16:20 +08:00
    需要点耐心,maven 相比 gradle 已经很简单了
    slyang5
        16
    slyang5  
       2019-10-08 18:16:30 +08:00
    用 gradle 吧。 XML 恶心到家了
    Kontinue
        17
    Kontinue  
       2019-10-08 18:16:43 +08:00
    maven 不是 ctrl v 加手指点点就行了吗,哪里不友好了。。。
    sadhen
        18
    sadhen  
       2019-10-08 18:19:58 +08:00
    要有既有的模版
    BBCCBB
        19
    BBCCBB  
       2019-10-08 18:21:51 +08:00
    maven 和 gradle 虽然比 pip 复杂的多,但是解决的问题也比 pip 多得多。

    pip 有很多局限
    littlewing
        20
    littlewing  
       2019-10-08 18:30:52 +08:00
    pip 只是一个依赖管理工具
    maven 是项目生命周期管理工具,包括依赖 构建 打包 测试 等项目全流程都可以完成
    两个根本就不是同一个东西
    lazyfighter
        21
    lazyfighter  
       2019-10-08 18:42:45 +08:00
    我为啥感觉比 pip 好用多了啊,基本上不用 maven 命令
    godoway
        22
    godoway  
       2019-10-08 18:49:59 +08:00 via Android
    上 gradle 啊,简单易用还能直接撸脚本跑
    LokiSharp
        23
    LokiSharp  
       2019-10-08 19:05:18 +08:00 via iPhone
    然而 pip 根本没法管理环境
    hljjhb
        24
    hljjhb  
       2019-10-08 19:10:00 +08:00 via Android
    @djFFFFF sbt 完全不符合它的名字
    gIrl1990
        25
    gIrl1990  
       2019-10-08 20:07:13 +08:00
    我觉得 maven xml 的格式严谨风蛮好的呀。
    justRua
        26
    justRua  
       2019-10-08 20:12:41 +08:00
    最开始用的是 gradle,后来用 maven,感觉 maven 的命令真的是又臭又长
    rockyou12
        27
    rockyou12  
       2019-10-08 20:18:07 +08:00   ❤️ 1
    @WangBold gradle 学习曲线负责些,而且资料没 maven 多。都用多了其实 gradle 配置简单得多,特别项目越复杂 gradle 反而越简单
    merpyzf
        28
    merpyzf  
       2019-10-08 20:25:45 +08:00 via iPhone
    Gradle 欢迎你
    ragnaroks
        29
    ragnaroks  
       2019-10-08 20:26:35 +08:00
    你要是用过 nuget 就会发现别的都反人类
    iPhoneXI
        30
    iPhoneXI  
       2019-10-08 21:10:41 +08:00 via Android
    还是 golang 简单
    自带的 go mod/go get 等命令就行
    winterbells
        31
    winterbells  
       2019-10-08 21:21:21 +08:00 via Android
    为什么都说 maven 比 gradle 好🤔
    XML 看起来很难受啊,gradle 一行,XML 要五行。。
    icylogic
        32
    icylogic  
       2019-10-08 21:29:05 +08:00 via iPhone
    比不友好?体验一下 c++ autotools cmake premake meson "modern" cmake b2 …… Conan Hunter vcpkg ……
    Mithril
        33
    Mithril  
       2019-10-08 21:43:48 +08:00
    其实是不一样的东西,不能拿来比的。pip 不过是依赖管理(官方自己叫 package installer ),而 Gradle 和 Maven 都是构建工具。
    构建工具需要把软件项目构造成实际可发布的一坨东西,而解决依赖问题只是其中第一步。后面还要有编译,打包,测试,还要根据不同配置修改整个流程等等。
    其实有很多基于配置文件的构建工具,无论是 xml 也好还是其他什么乱七八糟格式的配置文件,但做到最后都会发现根本没办法真的满足各种软件的各种奇葩构建需求。最终都要走到在配置文件里允许用户自己写逻辑这么条路子上。
    Maven 让你把这些逻辑写成乱七八糟的插件,然后用一堆巨复杂的 xml 配置这些插件。
    MSBuild 让你可以在 xml 里写一些简单的逻辑。
    而 Gradle 则一开始就把配置文件做成脚本代码,你随便搞去吧。
    所以当项目构建流程比较复杂,或者你需要自己修改官方流程的时候,Gradle 这种就尤其方便。
    niubee1
        34
    niubee1  
       2019-10-08 21:46:29 +08:00
    Maven 是个巨反人类的东西
    billlee
        35
    billlee  
       2019-10-08 23:03:59 +08:00
    maven 算是学习曲线比较平滑了吧,不用 java ee 的话,用 maven 只需要用 clean, package, dependency:tree 三个命令
    是 java ee 那套把问题搞复杂了,maven 这种靠配置文件和插件的配置起来就显得无比复杂
    zgqq
        36
    zgqq  
       2019-10-08 23:08:48 +08:00
    gradle 才是神器
    k9990009
        37
    k9990009  
       2019-10-08 23:14:48 +08:00 via Android
    pip 才坑,非得安装才能用。以前搞个冷门 DB2 驱动,死活安装不上去,官方也不怎么维护,通用驱动又不适配。
    akira
        38
    akira  
       2019-10-09 03:44:30 +08:00
    前段时间配置内网构建机和 nexus,不同项目需要引用到不同的私有库,构建机无外网。
    这才是真的要人命。。
    695975931
        39
    695975931  
       2019-10-09 08:45:20 +08:00
    nuget 连学都不用学。多好
    DsuineGP
        40
    DsuineGP  
       2019-10-09 14:16:58 +08:00
    @hljjhb 我倒觉得 sbt 很符合他的名字---傻哔 tool
    Aresxue
        41
    Aresxue  
       2019-10-10 09:35:17 +08:00
    maven 要学习的东西其实很少,但在实际项目中可能会遇到各种需要解决的问题,maven 只会教你"数学公式", 真正解题是要你一点一点去分析的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.