【Maven 简介】

Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。

Make-》Ant-》Maven-》Gradle

【什么是构建】

构建并不是创建,创建一个工程并不等于构建一个项目。要了解构建的含义我们应该由浅入深的从以下三个层面来看:

①纯 Java 代码

大家都知道,我们 Java 是一门编译型语言,.java 扩展名的源文件需要编译成.class 扩展名的字节码文件才能够执行。所以编写任何 Java 代码想要执行的话就必须经过编译得到对应的.class 文件。

②Web 工程

我们可以将未编译的 Web 工程比喻为一只生的鸡,编译好的 Web 工程是一只煮熟的鸡,编译部署的过程就是将鸡炖熟。

生的鸡-》处理-》熟的鸡

动态web工程-》编译、部署-》编译结果

Web 工程和其编译结果的目录结构对比见下图:

③实际项目

在实际项目中整合第三方框架,Web 工程中除了 Java 程序和 JSP 页面、图片等静态资源之外,还包括第三方框架的 jar 包以及各种各样的配置文件。所有这些资源都必须按照正确的目录结构部署到服务器上,项目才可以运行。

所以综上所述:构建就是以我们编写的 Java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

java 构建是什么意思_构建的概念相关推荐

  1. fusion构建器代码语法_构建器模式:适用于代码,适用于测试

    fusion构建器代码语法 我发现构建器设计模式偶尔在代码中有用,但在测试中经常有用. 本文简要概述了该模式,然后介绍了在测试中使用该模式的一个有效示例. 请参阅github中的代码. 生成器模式的背 ...

  2. etl构建数据仓库五步法_构建数据仓库五步法

    一.确定主题 即确定数据分析或前端展现的主题.(以汽车行业的KPI管理分析系统为例) 例如:我们希望分析某年某月某区域某门店销售情况,这就是一个主题. 主题要体现出某一方面的各分析角度(维度)和统计数 ...

  3. 微信小程序构建商城百度云_构建云存储应用程序

    存档日期:2019年5月13日 | 首次发布:2015年2月13日 了解如何创建一个简单的Node.js应用程序,该应用程序使用IBM Object Storage Service for Bluem ...

  4. 用gradle启动java项目_构建Java项目

    #构建Java项目# 上一节我们简要介绍了如何编写一个单机的To Do应用,接下来要打包部署成可执行的应用,我们需要编译源代码,生成的class文件需要打包到JAR文件中.JDK提供了javac 和j ...

  5. java如何配置maven路径_如何配置Eclipse构建路径以使用Maven依赖项?

    我想利用Maven提供的功能来管理项目中的依赖项 . 我对Maven如何工作的简要理解是,它将获取所需的JAR,然后使用这些库构建项目 . 目前我有一个简单的POM文件设置为测试: xmlns:xsi ...

  6. 构建maven项目插件_如何构建一个Maven插件

    构建maven项目插件 使用Okta的身份管理平台轻松部署您的应用程序 使用Okta的API在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. 今天尝试Okta. 由于其插件生态系统的普 ...

  7. 应用程序_构建应用程序12 条参考准则

    作者:NDOER(来源:掘金) 链接:https://juejin.im/post/5dfdd9aef265da33b50740ee 0.前奏曲 12 要素应用程序(12-factor-app)是 H ...

  8. docker java 最小镜像_Docker多步构建更小的Java镜像

    [编者的话]最新版Docker将支持多步构建(Multi-stage build),这样使用单个Dockerfile就可以定义多个中间镜像用于构建,测试以及发布等多个步骤,并且有效减小最终镜像的大小. ...

  9. 编译器连接器分析器_使用构建分析器了解您的构建

    编译器连接器分析器 As members of the Android Developer Tools team, my teammates and I come to work each day t ...

最新文章

  1. 测序发展史,150年的风雨历程 (第二版)
  2. 文本协议与二进制协议
  3. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插
  4. c语言 hello world代码_C语言基础
  5. jQuery插件 -- Cookie插件jquery.cookie.js(转)
  6. 惊了!同事竟然在代码里“下毒”
  7. 5 批量更新多条记录_如何使用 F12 开发者工具自动批量删除新浪微博
  8. 最大熵模型The Maximum Entropy:学习
  9. 选项不属于HTML语言特点,Web前端开发初级模拟测试卷一(2)
  10. 一位Android大牛的BAT面试心得与经验总结
  11. mysql ibd文件删除_误删除MySQL数据库表的ibd文件怎么办
  12. tushare获取沪深300指数历史_tushare正确爬取 指数数据
  13. Endnote 2020使用教程和技巧
  14. Apache本地localhost访问正常通过IP访问提示You dont have permission to access
  15. unity游戏中提示信息如何实现_RPG游戏中的剧情在Unity3D中如何实现呢?
  16. CentOS7配置nexus开机自启动
  17. R语言--百度ECharts接口(echarts4r包)
  18. 智能交通大数据分析系统-实现功能
  19. aps生产排程约束理论的应用
  20. 年轻人为何如此反感团建?

热门文章

  1. 禁用GPU版本TensorFlow,切换到CPU版本TensorFlow。
  2. LeetCode简单题之自除数
  3. 聚类Clustering
  4. MindSpore数据集mindspore::dataset
  5. PyTorch中的MIT ADE20K数据集的语义分割
  6. 自监督学习(Self-Supervised Learning)多篇论文解读(上)
  7. 视频教学动作修饰语:CVPR2020论文解析
  8. 2021年大数据ELK(二十五):添加Elasticsearch数据源
  9. 2021年大数据Spark(十四):Spark Core的RDD操作
  10. TypeError: string argument without an encoding