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

用python做的网站模板网站建设人员构成

用python做的网站模板,网站建设人员构成,布布网 wordpress,怎么做网站的图片跳转目录 Maven的依赖传递optional 与 scope 的区别scope 的可选值 Maven的依赖传递 依赖管理是maven提供的主要功能之一#xff0c;无论我们需要什么依赖#xff0c;只需将它们添加到 POM.xml 中#xff0c;在构建或运行时所有必要的类和资源都会自动添加到项目的 classpath 中… 目录 Maven的依赖传递optional 与 scope 的区别scope 的可选值 Maven的依赖传递 依赖管理是maven提供的主要功能之一无论我们需要什么依赖只需将它们添加到 POM.xml 中在构建或运行时所有必要的类和资源都会自动添加到项目的 classpath 中。 Maven 中的依赖是有传递Transitive性的默认会包含传递的依赖这样就不用手动引用每一个依赖了。比如下面这个依赖关系中A 依赖 BB 依赖了 C……如果你依赖 A 的话就会自动包含 A/B/C/D/E A├── B│ └── C│ └── D └── E└── D 但是传递依赖也带来了一个问题比如下面这个例子 A├── B│ └── C│ └── D 2.0└── E└── D 1.0由于传递依赖D 2.0 和 D 1.0 都会被加入 ClassPath 中但因为它们版本不同很可能会有包冲突等一系列问题。解决这个依赖传递导致的冲突问题有两种方案 方案一 使用者也就是发起依赖方进行排除 dependencygroupIdgroup-a/groupIdartifactIdartifact-a/artifactIdversion1.0/versionexclusionsexclusiongroupIdgroup-c/groupIdartifactIdexcluded-artifact/artifactId/exclusion/exclusions /dependency方案二 提供方将依赖的范围定义为不传递这样在构建时就不会包含这些不传递的依赖包了。不传递的配置有两种方式也是本文讨论的重点 1 定义 dependency scope 为 provided dependencygroupIdgroup/groupIdartifactIdartifact-d/artifactIdversion2.0/version!-- 不传递 --scopeprovided/scope /dependency2 定义 optional 为 true dependencygroupIdgroup/groupIdartifactIdartifact-d/artifactIdversion2.0/version!-- 不传递 --optionaltrue/optional /dependency在这两种不传递配置下依赖关系都将在声明它们的模块的 classpath 中但是使用将它们定义为依赖关系的模块不会在其他项目中传递它们即不会形成依赖传递。 optional 与 scope 的区别 optional 可选的可以理解为此依赖可选如果不需要传递某项功能可以不引用这个包。 scope provided 提供的可以理解为此包不由我直接提供需要调用者/容器提供。 两者的使用场景介绍 optional 现开发了一个类似Hibernate的框架叫Summer吧致敬下Spring提供了多种数据库方言的支持mysql/oracle/db2/postgresql…每种数据库支持也独立了一个moduleSummer的依赖中配置了每种数据库的支持包summer-mysql-support/summer-oracle-support… 但是实际引用此框架/依赖时并不需要所有数据库方言的支持。此时可以把数据库的支持包都配置为可选的true。引用此框架时只需按需引入自己需要的方言支持包即可避免了冗余繁杂的依赖也降低了jar包冲突的风险。 scope provided 现有一普通Web工程必然会用到servlet-api这个包。但是实际上这个包一定是由容器提供的因为我们这个web会部署到容器内容器会提供servlet-api如果此时项目中再引用的话就会造成重复引用会有版本不一致的风险。 scope 的可选值 scope元素主要用来控制依赖的使用范围指定当前包的依赖范围和依赖的传递性也就是哪些依赖在哪些classpath中可用。常见的可选值有compile, provided, runtime, test, system等。 compile编译 默认值。compile表示对应依赖会参与当前项目的编译、测试、运行等是一个比较强的依赖。打包时通常会包含该依赖部署时会打包到lib目录下。比如spring-core这些核心的jar包。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependencytest测试 scope为test表示依赖项目仅参与测试环节在编译、运行、打包时不会使用。最常见的使用就是单元测试类了。 类似单元测试这样的依赖如果不设置scope为test很显然它们会被打包、发布但其实真是环境中并无什么作用。 dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope /dependencyrunntime运行时 runntime仅仅适用于运行和测试环节在编译环境下不会被使用。比如编译时只需要JDBC API的jar而只有运行时才需要JDBC驱动实现。 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.20/versionscoperuntime/scope /dependencyprovided已提供 provide仅在编译和测试阶段生效provide不会被打包也不具有传递性。 比如上面讲到的spring-boot-devtools、servlet-api等前者是因为不需要在生产中热部署后者是因为容器已经提供不需要重复引入。 dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdscopeprovided/scope /dependencysystem system范围依赖与provided类似不过依赖项不会从maven仓库获取而需要从本地文件系统提供。使用时一定要配合systemPath属性。不推荐使用尽量从Maven库中引用依赖。 dependencygroupIdsun.jdk/groupIdartifactIdtools/artifactIdversion1.5.0/versionscopesystem/scopesystemPath${java.home}/../lib/tools.jar/systemPath /dependency
http://www.pierceye.com/news/64090/

相关文章:

  • 网站开发 项目的招标文件纯色涂料网站建设
  • mvc4 做网站国家建设信息公示平台
  • 增城住房和城乡建设局网站百度广告安装入口
  • 网站接入商网店设计教程
  • 网站建设与网页设计实践报告hao123网址大全浏览器设为主页
  • 汽车销售服务东莞网站建设网站数据库建设方案
  • 网站备案的幕布尺寸免费制作网站app
  • 给个人建网站的公司网站建设怎么好
  • wordpress新闻视频站企业网站建设合同模板
  • 旌阳移动网站建设做电影网站如何买版权
  • 网站设计导航潍坊网站外包
  • 关键词搜索工具爱站网什么样的网站才是好网站
  • 个人网站可以做推广不内容营销策略分析
  • 网站建设课结课感受网站建设下单源码
  • 大兴建站推广门头沟青岛网站建设
  • 做期货应关注什么网站广告传媒公司主要做什么
  • 服装代销的网站源码购物平台推荐
  • 泸州住房和城乡建设厅网站建站seo推广
  • 能源企业 网站建设网站错位
  • 呼和浩特市网站公司电话武乡网站建设
  • 微信网站开发与网站实质区别个人网站免费域名获取
  • 深圳建设手机网站怎么把网站设置为主页面
  • 建设网站网站建站写微信公众号用什么软件
  • 怎么给网站加友情链接最好的免费的黄页网站
  • 网站如何换服务器wordpress 文件删除
  • 南宁做网站推广的公司国家企业信息公示网官网(中国)
  • 网站开发毕业答辩pptseo刷词工具在线
  • wordpress收不到网站北京seo排名服务
  • 北京丰台区网站建设公司南京网络推广
  • 企业网站建设找智恒网络中国机房建设公司排名