当前位置: 首页 > news >正文

企业形象网站模板深圳企业网站建设服务商

企业形象网站模板,深圳企业网站建设服务商,怎样做招聘网站,陕西建工第五建设集团有限公司官方网站目录 1.pomxml文件 2. 坐标 2.1 坐标的概念 2.2 坐标的意义 2.3 坐标的含义 2.4 自己项目的坐标 2.5 第三方项目坐标 3. 依赖 3.1 依赖的意义 3.2 依赖的使用 3.3 第三方依赖的查找方法 3.4 依赖范围 3.5 依赖传递和可选依赖 3.5.1 依赖传递 3.5.2 依赖范围对传…

目录

1.pomxml文件

2. 坐标

2.1 坐标的概念

2.2 坐标的意义

2.3 坐标的含义

2.4 自己项目的坐标

2.5 第三方项目坐标 

3. 依赖

3.1 依赖的意义

3.2 依赖的使用

3.3 第三方依赖的查找方法

3.4 依赖范围

3.5 依赖传递和可选依赖

3.5.1 依赖传递

 3.5.2 依赖范围对传递依赖的影响

3.5.3 依赖阻断

 ​​​​​​​3.5.4 可选依赖

4. 仓库

​​​​​​​4.1 仓库的概念

4.2 本地仓库

​​​​​​​4.3 中央仓库

 ​​​​​​4.4 依赖搜索顺序


1.pomxml文件

就像 Make 的 MakeFile、Ant 的 build.xml 一样,Maven 项目的核心是 pom.xml。POM( Project Object Model,项目对象模型 ) 定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。

2. 坐标

2.1 坐标的概念

在 Maven 中坐标是构件的唯一标识,Maven 坐标的元素包括 groupIdartifactIdversion、packaging、classifier。上述5个元素中,groupId、artifactId、version 是必须定义的,packaging 是可选的 ( 默认为 jar )。

2.2 坐标的意义

  • Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范
  • 拥有了统一规范,就可以把查找工作交给机器

2.3 坐标的含义

groupId:组织标识,一般为:公司网址的反写+项目名

artifactId:项目名称,一般为:项目名-模块名

version:版本号 形式为0.0.1-SNAPSHOT:

                第一个 0 表示大版本号,第二个 0 表示分支版本号,第三个 0 表示小版本号

                SNAPSHOT -- 快照版本(√),ALPHA -- 内侧版本,BETA -- 公测版本,RELEASE -- 稳定版本(√),GA -- 正式发布

packaging:打包的方式,如:pom(只做依赖管理,不写代码), jar, maven-plugin, ejb, war(带有前端页面的), ...

clissifier:用来帮助定义构件输出的一些附属构件。

2.4 自己项目的坐标

2.5 第三方项目坐标 

3. 依赖

3.1 依赖的意义

       当编写Java代码时,我们总是需要一些库,例如,做单元测试我们需要JUnit库。对于更大的项目,我们可能需要创建自己的库并在不同的部分使用它的项目。不同的项目需要不同版本的库。 保持项目最新的库JAR文件的正确版本不是一个容易的任务。

        每个外部JAR可能还依赖于其他外部JAR文件等。以递归方式下载所有这些外部依赖JAR文件并确保下载正确的版本是一项巨大的任务。当项目越来越大,我们将需要越来越多的外部依赖。

       Maven将下载它们并将它们放在您的本地Maven存储库中。我们可以在POM文件中dependencies元素内指定依赖关系。

3.2 依赖的使用

      例如我们的项目需要进行单元测试,则需要使用到junit-4.9.jar包,使用maven引用该依赖的方式如下:

属性说明:

  • 三维坐标:引用依赖包的三维坐标,用来定位该依赖包;
    • scope: 控制该依赖包在什么情况下会被加到 classpath 中;

3.3 第三方依赖的查找方法

        我们在不确定所需引用的第三方依赖包的坐标时,通过maven的中央仓库进行查找,网址: https://mvnrepository.com/;

        以mybatis举例:

 引入成功。

3.4 依赖范围

Maven项目在开发工程中有三套classpath

  • 主代码:main下面的都是主代码在编译的时候的依赖
  • 测试代码:test下是测试代码编译的时候的依赖
  • 运行时:main代码在运行的时候对包的依赖

依赖范围的使用,通过在引用第三方依赖时的<scope></scope>标签进行设置,例如:

 

共 6 种 scope,包括:compileprovidedruntimetest、system、import。例如上图的junit,只在测试中使用,则选择test即可,默认为compile

  • Compile:编译依赖范围。默认使用此依赖范围,其下的maven依赖,对于编译,测试,运行classpath都有效。
  • Test:测试依赖范围。只对测试classpath有效,编译主代码或运行项目时无法使用此依赖。典型例子如junit。
  • Provided:已提供依赖范围。其对于编译与测试classpath有效,运行时无效。如在web开发时,只有在编译和测试时才用到servlet-api,将其设置为此范围,在运行时servlet-api由web容器提供,无须依赖。并且在打war包时,此范围的依赖不会打在WEB-INF/lib下。
  • Runtime:运行时依赖范围。与provided相对,运行时classpath有效。典型例子如jdbc编写是接口规范运行是提供具体实现类需要jar包

3.5 依赖传递和可选依赖

3.5.1 依赖传递

应用场景:

        第一直接依赖: HelloFriend项目依赖Hello项目

        第二直接依赖: MakeFriend项目依赖HelloFriend项目

 makeFriend项目只依赖了HelloFriend项目,但同时也把Hello项目依赖了进来。

 ​​​​​​​3.5.2 依赖范围对传递依赖的影响

  传递依赖是会受到依赖范围的影响的,具体来看结果如下:

3.5.3 依赖阻断

      例如我们在HelloFriend项目里面的Hello依赖处添加该配置 :

 <optional>true</optional>


    我们可以看到makeFriend项目现在只引入了HelloFriend的依赖而没有引入Hello的依赖:

依赖阻断表示,当HelloFriend被其他项目依赖时,不传递Hello的依赖至依赖于HelloFriend的项目。 

 ​​​​​​​3.5.4 可选依赖

       如果我们需要在依赖中明确的排除掉某一依赖,则可以使用exclusion属性,排除掉引用的依赖,如图: 

      可以看到,排除Hello后,依赖中就不会引入Hello。

4. 仓库

​​​​​​​4.1 仓库的概念

        在 Maven 的术语中,仓库是一个位置(place)。Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

        在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。

仓库的类型有:

  • 本地(local)
  • 中央(central)
  • 远程(remote)

4.2 本地仓库

        Maven 的本地仓库在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

        默认情况下,不管Linux还是 Windows,每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %Maven_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

​​​​​​​4.3 中央仓库

        Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

中央仓库的关键概念:

  • 这个仓库由 Maven 社区管理。
  • 不需要配置。
  • 需要通过网络才能访问。

 ​​​​​​4.4 依赖搜索顺序

http://www.yayakq.cn/news/465266/

相关文章:

  • 威海网站建设地址做单页网站盈利案例
  • 北京网站建设价格天深圳网页设计与制作公司
  • kuake自助建站系统官网二级建造师证书查询入口
  • 上海网站定制设计图建站合肥网络公司seo
  • 中国建设第一平台网站国家高新技术企业有效期几年
  • 精品课网站建设app和网站的关系
  • 做一个好的网站高密做网站哪家强代理
  • 快手点赞购买网站wordpress设置菜单
  • 英文网站建设的请示怎么写自己做网站推广
  • 购物网站首页模板wordpress创建标签页
  • 怎样做优惠券网站免费软件有哪些
  • 网站开始开发阶段的主要流程有哪些营销型网站推荐
  • scatter网站开发上海搬家公司哪家好
  • 北京电商网站建设免费建网站哪家好
  • 网站搭建说明重庆免费自助建站模板
  • wordpress登录页面模板网站优化 价格
  • 哈尔滨做网站免费网站建设免费咨询
  • 厦门市建设质量安全协会网站淄博网站制作制作
  • 学校网站模板 dede网站建设怎么上传数据
  • uemo网站源码Wordpress托管 点点
  • .net简单网站开发视频教程美工做的好的网站
  • 网页游戏开服表怎么取消专注苏州网站优化
  • 餐饮网站建设设计下载app下载
  • 网站怎么做可以增加点击率全网营销网站怎么做
  • 青海省网站建设高端优秀的网站设计分析
  • 白名单 网站网页视频下载安卓
  • 网站模版制作百度一下百度主页
  • 建网站要备案百度客户端在哪里打开
  • 如何做网站收录上海 网站建设公司
  • 网站开发德菁网站管理助手 伪静态