最新公告
  • 欢迎您光临极客文库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 一、什么是构建工具

    构建工具是用于构建项目的自动化工具,主要包含以下工作:

    依赖管理

    不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖管理。

    运行单元测试

    不再需要在项目代码中添加测试代码,从而污染项目代码。

    将源代码转化为可执行文件

    包含预处理、编译、汇编、链接等步骤。

    将可执行文件进行打包

    不再需要使用 IDE 将应用程序打包成 Jar 包。

    发布到生产服务器上

    不再需要通过 FTP 将 Jar 包上传到服务器上。

    参考资料:

    二、Java 主流构建工具

    主要包括 Ant、Maven 和 Gradle。

    Gradle 和 Maven 的区别是,它使用 Groovy 这种特定领域语言(DSL)来管理构建脚本,而不再使用 XML 这种标记性语言。因为项目如果庞大的话,XML 很容易就变得臃肿。

    例如要在项目中引入 Junit,Maven 的代码如下:

    而 Gradle 只需要几行代码:

    dependencies {
        testCompile "junit:junit:4.10"
    }
    

    参考资料:

    三、Maven

    概述

    提供了项目对象模型(POM)文件来管理项目的构建。

    仓库

    仓库的搜索顺序为:本地仓库、中央仓库、远程仓库。

    • 本地仓库用来存储项目的依赖库;
    • 中央仓库是下载依赖库的默认位置;
    • 远程仓库,因为并非所有的库存储在中央仓库,或者中央仓库访问速度很慢,远程仓库是中央仓库的补充。

    POM

    POM 代表项目对象模型,它是一个 XML 文件,保存在项目根目录的 pom.xml 文件中。

    [groupId, artifactId, version, packaging, classfier] 称为一个项目的坐标,其中 groupId、artifactId、version 必须定义,packaging 可选(默认为 Jar),classfier 不能直接定义的,需要结合插件使用。

    • groupId:项目组 Id,必须全球唯一;
    • artifactId:项目 Id,即项目名;
    • version:项目版本;
    • packaging:项目打包方式。

    依赖原则

    依赖路径最短优先原则

    A -> B -> C -> X(1.0)
    A -> D -> X(2.0)
    

    由于 X(2.0) 路径最短,所以使用 X(2.0)。

    声明顺序优先原则

    A -> B -> X(1.0)
    A -> C -> X(2.0)
    

    在 POM 中最先声明的优先,上面的两个依赖如果先声明 B,那么最后使用 X(1.0)。

    覆写优先原则

    子 POM 内声明的依赖优先于父 POM 中声明的依赖。

    解决依赖冲突

    找到 Maven 加载的 Jar 包版本,使用 mvn dependency:tree 查看依赖树,根据依赖原则来调整依赖在 POM 文件的声明顺序。

    参考资料:

    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » 构建工具学习笔记

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    极客文库
    程序员的加油站

    Leave a Reply

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系发布者

    Leave a Reply

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系发布者
    • 99会员总数(位)
    • 3629资源总数(个)
    • 44本周发布(个)
    • 0 今日发布(个)
    • 105稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多