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

深圳企业网站制作哪家好wordpress 药品食品

深圳企业网站制作哪家好,wordpress 药品食品,集团网站定制,网站怎么做响应目录 一.Maven介绍与功能 二.依赖管理 1.依赖的配置 2.依赖的传递性 3.排除依赖 4.依赖的作用范围 5.依赖的生命周期 一.Maven介绍与功能 maven是一个项目管理和构建工具,是基于对象模型POM实现。 Maven的作用: 便捷的依赖管理:使用…

目录

一.Maven介绍与功能

二.依赖管理

1.依赖的配置

2.依赖的传递性

3.排除依赖

4.依赖的作用范围

5.依赖的生命周期


一.Maven介绍与功能

maven是一个项目管理和构建工具,是基于对象模型POM实现。

Maven的作用:

  • 便捷的依赖管理:使用Maven可以简化依赖管理过程。通过在项目的pom.xml文件中声明依赖关系,Maven可以自动下载所需的依赖库,并将它们添加到项目的类路径中。这消除了手动下载和配置jar包的繁琐过程,使依赖管理更加方便和可靠。

  • 统一的项目结构:Maven定义了标准的项目结构,规定了源代码、资源文件、测试代码等目录的布局方式。这使得不同IDE(如Eclipse、IntelliJ IDEA)之间可以共享和识别相同的项目结构,简化了项目之间的迁移和协作。

  • 标准的项目构建流程:Maven提供了一套标准化的项目构建流程。通过执行Maven命令,可以进行项目的编译、测试、打包、部署等一系列操作。这种标准化的构建流程确保了项目的一致性和可重复性,提高了开发效率。


二.依赖管理

1.依赖的配置

所谓的依赖指的就是当前项目所需要的jar包,一个项目可以引入多个jar包

案例:导入多个包 mysql、ch.qos.logback两个包

首先打开maven项目工程找到pom.xml

设置依赖标签

<!--    设置标签依赖--><dependencies>
<!--        设置具体依赖--><dependency>
<!--            配置代表项目或组织的唯一标识符--><groupId>ch.qos.logback</groupId>
<!--            配置代表特定项目的唯一标识符--><artifactId>logback-classic</artifactId>
<!--            配置版本号--><version>1.2.3</version></dependency><!--        操作类似--><dependency><groupId>mysql-java</groupId><artifactId>mysql-java</artifactId><version>5.1.21</version></dependency></dependencies>

如果以前没有使用过相关jar包,则会冒红报错,因为在本地仓库没有找到相关的jar包


2.依赖的传递性

如果一个项目projectA依赖了一个A-jar包,而一个A-jar包中又依赖了其他的jar包,那么projectA对应的也就依赖了A-jar包对应的其他jar包

依赖传递有两种:一种是直接依赖,一种是间接依赖

 通过图标形势查看依赖关系

在pom中右键找到图再点击显示依赖项

这样就可以清晰看到项目之间的依赖

当然依赖可能会产生一个特殊情况,A->B->A 循环依赖,项目A依赖了项目B,而项目B依赖了项目A。这种情况也是面试题常问的一个问题

 面试题:Maven中如何解决依赖循环的问题

  1. 重构代码结构:首先,我们可以检查项目结构并尝试重构代码以消除依赖循环。这可能需要重新设计模块之间的关系,将公共功能提取到独立的模块中,或者修改模块的依赖关系,以确保它们形成一个有向无环图(DAG)。

  2. 使用接口或抽象类:如果依赖循环是由于具体类之间的相互依赖引起的,我们可以考虑使用接口或抽象类来解耦它们。这样,依赖关系将变得单向,并且可以更容易地管理。

  3. 使用Maven插件:Maven提供了一些插件来帮助解决依赖循环问题。例如,可以使用Maven的maven-dependency-plugin来分析项目依赖关系,并找出导致循环的依赖。然后,我们可以使用excludeoptional标记,将其中一个模块的依赖排除或设置为可选,以打破循环。

  4. 模块拆分:另一种方法是将存在依赖循环的模块拆分为更小的、相互独立的模块。这样,我们可以将它们放在不同的项目中,并使用Maven的多模块项目进行管理。通过将功能划分到不同的模块中,可以更好地管理和控制它们之间的依赖关系。


3.排除依赖

由上面的内容可以知道依赖具有传递性,PorjectA项目会依赖A-jar包下的所有依赖jar包。但是如果明确知道工程ProjectA中只需要A-jar包,不需要A-jar包下的某一个包,则可以通过<exclustions>标签和<exclustion>实现排除依赖

 <exclusions><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></exclusion></exclusions>

 可以看到用了排除依赖后相关jar包就不存在了


4.依赖的作用范围

依赖的jar包,在默认情况下,可以在任何地方使用,或者也可以通过<scope></ scope>标签来设置相应jar包的作用范围

作用范围:

  • 主程序范围有效(main文件夹内)
  • 测试程序范围有效(test文件夹范围内)
  • 是否参与打包运行(package指令范围内)

 scope标签值与对应的作用范围

案例:

设置logback的jar包的范围为test,实现只能在test测试程序中运行

 注意不要忘了点击更新

 接下来测试是否更改了作用范围:

1.在test中使用logback的jar包对象,可以看到有提示相应的jar包

2.在main中使用则会发现并没有相应的jar包


5.依赖的生命周期

在Maven中有三套相互独立的生命周期

  • clean 负责清理上一次编译产生的字节码文件
  • default 核心工作 负责编译、测试、打包、安装、部署等等
  • site 生成报告、发布站点等

每一套生命周期都有许多的生命周期阶段,但是我们需要用到的生命周期并不需要太多,只需要掌握以下几个核心生命周期的阶段即可

 核心的生命周期阶段

  • clean 移除上一次构建生成的文件
  • compile编译项目的源代码
  • test使用合适的单元测试框架运行测试
  • package将编译后的文件进行打包
  • install安装项目到本地仓库

注意:同一套的生命周期的运行是由循序的,后面的生命周期的运行是需要依赖前面的生命周期的运行。所以如果使用后面的生命周期阶段,就会自动执行前面的生命周期

比如运行test,会自动运行validate与compile,但是不会运行clean,因为clean与这些不是同一套的生命周期

运行指定的生命周期

有两种方式运行指定的生命周期

第一种,找到右侧栏中的maven打开项目下的生命周期,找到对应周期双击运行即可

第二种,在idea或者cmd中输入指令 mvn xxx即可执行对应的生命周期阶段

周期跳过

在工程文件中找到生命周期,找到小闪电图标,点击即可跳过对应的生命周期。


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

相关文章:

  • 国内免费自建网站淘宝客的网站是自己做的吗
  • 知名网站建设策划网站已备案 还不能访问
  • 网站设计的企业做一个小程序收费价目表
  • 如何做自己公司的网站线上购物网站建设的可行性
  • 优秀个人网站设计模板微商网站怎么做
  • 做娱乐网站被坑郴州网站制作公司
  • 重庆网站页设计制作南京做网站建设有哪些内容
  • 行业网站需要如何做手机网站模板cms
  • 橙色系网站wordpress整站无法打开
  • scratch网站开发wordpress登录密码忘了怎么办
  • 滁州市网站建设科技公司专门做二维码的网站
  • 免费的行情网站app软件推荐揭阳seo网站管理
  • 权威的扬中网站建设急切网头像在线制作图片
  • 静态网站的短处软件项目管理包括哪些内容
  • 网站建设建设公司是干嘛的可以做物理题的网站
  • 软件网站开发公司网站建设开发简介
  • 刘娇娇做网站骗钱的东阿网站建设价格
  • 电子购物网站建设做网站主题
  • 网站开发基本步骤编辑网站用什么软件
  • 南昌城乡住房建设厅网站html学校网站模板
  • 网站开发流程注意事项wordpress实现动态功能
  • 怎么建设展示网站 需要维护费吗网站流量数据分析怎么做
  • 摄影网站首页设计10大开源文档管理系统
  • 网站后台管理系统框架wordpress 获取作者
  • 专业网站建设搭建c mvc制作网站开发
  • 中石化两学一做网站wordpress文章名称背景
  • 潮流印花图案设计网站网站可以做系统吗
  • 全栈工程师是做网站吗个人微信公众号注册
  • 中国万网怎么自己做网站阅读分享网站模板
  • 淘客网站建设建湖做网站