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

大家是如何解决 Java 各框架依赖的

  •  
  •   Coande · 2016-09-22 17:22:02 +08:00 · 3959 次点击
    这是一个创建于 2786 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像 Spring 那样,几十个包,怎么知道要引入哪些呢?就算使用构建工具,也得选择 copy 不少依赖吧?难道必须了解每个包的作用吗?

    28 条回复    2016-09-24 12:54:47 +08:00
    root787
        1
    root787  
       2016-09-22 17:23:51 +08:00   ❤️ 1
    有个工具叫 Gradle 。你可以了解一下。
    zhuangzhuang1988
        2
    zhuangzhuang1988  
       2016-09-22 17:31:30 +08:00
    有个工具叫 Maven 。你可以了解一下。
    另外, spring.io 中的教程 就是教 maven or gradle.
    yangxin0
        3
    yangxin0  
       2016-09-22 17:34:25 +08:00
    不写 java
    honam
        4
    honam  
       2016-09-22 17:37:35 +08:00
    跑起来,看控制台,缺什么包加什么包
    sutra
        5
    sutra  
       2016-09-22 17:40:17 +08:00
    除了上面介绍的 gradle , maven 等工具外,还可以看看 spring io platform, spring boot.
    xgfan
        6
    xgfan  
       2016-09-22 17:40:45 +08:00
    有个工具叫 ant 。你别了解了。//逃
    sampeng
        7
    sampeng  
       2016-09-22 17:46:14 +08:00
    我们都生活在软件石器时代,开玩笑,都是手动 copy 的。用纸画一个依赖图,然后一个一个扔进去。哦。还有版本是个头疼的问题,所以去网上一个个的看版本依赖。然后丢进去。
    Coande
        8
    Coande  
    OP
       2016-09-22 17:59:41 +08:00 via Android
    @zhuangzhuang1988 maven 不也是得根据需要一个一个配置依赖吗?
    zhuangzhuang1988
        9
    zhuangzhuang1988  
       2016-09-22 18:15:52 +08:00
    @Coande 不需要... 你知道知道依赖顶层 library 的就好了.级联的依赖 library 自己会管理的
    zachgenius
        10
    zachgenius  
       2016-09-22 18:22:12 +08:00
    gradle
    aitaii
        11
    aitaii  
       2016-09-22 18:27:35 +08:00
    http://spring.io/guides/gs/rest-service/ spring 的 demo 可以看看.
    Coande
        12
    Coande  
    OP
       2016-09-22 18:28:10 +08:00 via Android
    @zhuangzhuang1988 maven 中央仓库速度太慢,现在还有哪些国内镜像可以用的呢?
    aitaii
        13
    aitaii  
       2016-09-22 18:53:04 +08:00
    @Coande 前端时间我正好用到了 maven,网上给的 oschina 还有其他一些都很慢(或者不能用).
    ```
    <mirror>
    <id>UK</id>
    <name>UK Central</name>
    <url>http://uk.maven.org/maven2</url>
    <mirrorOf>central</mirrorOf>
    </mirror>

    ```
    先下载 http://repo1.maven.org/maven2/archetype-catalog.xml 到本地
    在构建时,在 archetype:generate 后加上 -DarchetypeCatalog=local 参数。
    aitaii
        14
    aitaii  
       2016-09-22 18:55:11 +08:00
    @aitaii 如果用到 archtype 的话
    fwrq41251
        15
    fwrq41251  
       2016-09-22 19:02:38 +08:00 via Android   ❤️ 1
    你当然需要知道每个依赖是干嘛的,但是 maven 有个好处是依赖具有传递性,需要的很多依赖可以通过某个依赖一次性添加进来。
    caixiexin
        16
    caixiexin  
       2016-09-22 19:28:48 +08:00 via Android
    确实用了构建工具也要贴很多依赖声明的代码, spring boot 有在这方面做改善
    spring boot 有 xxx starter 的包,里面包多个依赖装在一起了,需要哪些特性直接声明这个特性的 starter 依赖。
    maven 因为用 xml ,所以依赖声明一多看起来头大,用 gradle 会简洁很多。
    caixiexin
        17
    caixiexin  
       2016-09-22 19:30:34 +08:00 via Android
    @aitaii osc 的 maven 镜像关闭了,阿里云的还能用。
    WhoMercy
        18
    WhoMercy  
       2016-09-22 21:02:16 +08:00 via Android   ❤️ 1
    框架一些基础的功能会打包在一起,新手可以全部添加,等熟悉了之后一个个包去了解功能划分,这是一个学习的过程也是减少项目负担的过程。
    等有经验了之后,可以自己一个个添加包到项目中,亦或者查看启动错误代码,添加相应包。

    这只是一条比较不会烦的管理建议。至于工具就楼上说的 maven 、 gradle 等
    pyufftj
        19
    pyufftj  
       2016-09-22 21:15:27 +08:00
    楼上说的都对。。我只想说一句 v 站的朋友们实在是太热情了
    sherlocktheplant
        20
    sherlocktheplant  
       2016-09-22 21:22:44 +08:00
    @pyufftj V 站的朋友一向不歧视新手 只歧视装逼的
    vivagonna
        21
    vivagonna  
       2016-09-22 21:54:36 +08:00
    搭车求个 maven 教程,最好是面向新手小白越详细越好,谢谢
    Coande
        22
    Coande  
    OP
       2016-09-22 22:54:33 +08:00 via Android
    @WhoMercy 也就是说新手先把框架的全部包都导入?
    v2gf
        23
    v2gf  
       2016-09-23 08:51:40 +08:00
    andreby
        24
    andreby  
       2016-09-23 10:02:16 +08:00
    使用 myeclipse maven 项目构建 pom 文件会有个 Dependency Graph 将 jar 包之间依赖做了可视化
    Coande
        25
    Coande  
    OP
       2016-09-23 10:58:51 +08:00
    @v2gf 谢谢
    EXE
        26
    EXE  
       2016-09-23 13:14:59 +08:00
    常用包的作用还是要稍微了解一下的
    WhoMercy
        27
    WhoMercy  
       2016-09-23 19:55:18 +08:00 via Android
    @Coande 就是说你先不要管包的用途,如果是看示例,就先把示例内的包都导入,先不要纠结项目的包冗余,等有了基础,熟练后再想减负的事情
    Coande
        28
    Coande  
    OP
       2016-09-24 12:54:47 +08:00
    @WhoMercy 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1464 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:25 · PVG 01:25 · LAX 10:25 · JFK 13:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.