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

建设娱乐城网站珠海做网站建设

建设娱乐城网站,珠海做网站建设,广饶县住房和城乡建设局网站,ui交互设计案例一#xff0c;相关概念 1#xff0c;Maven坐标 Maven定义了这样一组规则#xff1a;世界上任何一个构件都可以使用Maven坐标唯一标识#xff0c;Maven坐标元素包括groupId、artifactId、version、packaging、classifier#xff0c;现在只要我们提供正确的元素坐标#x… 一相关概念 1Maven坐标 Maven定义了这样一组规则世界上任何一个构件都可以使用Maven坐标唯一标识Maven坐标元素包括groupId、artifactId、version、packaging、classifier现在只要我们提供正确的元素坐标Maven就能找到对应的构件。至于去哪里下载Maven本身内置了一个中央仓库的地址http://repo1.maven.org/maven2该中央仓库包含了世界上绝大部分流行的开源项目构件Mavne会在需要的时候去那里下载当然也可以配置自己的中央仓库地址去自己的中央仓库下载构件。 2传递性依赖 比如A项目依赖了spring-corespring-core又依赖了commons-codec和commons-logging那么commons-codec和commons-logging就是A项目的一个传递性依赖。有了传递性依赖机制在使用spring-core的时候就不用去考虑它依赖了什么也不用担心引入多余的依赖Maven会解析各个直接依赖的POM将那些必要的间接依赖以传递性依赖的形式引入到当前的项目中去。 当依赖发生冲突时会有依赖调解依赖调解主要有两点原则段路径优先和第一声明者优先 1、A-B-C-X(1.0)A-D-X(2.0)此时两条依赖路径上有两个版本的X此时遵循路径最近者优先因此X(2.0)将被解析使用 2、A-B-Y(1.0)A-C-Y(2.0)Y(1.0)和Y(2.0)的依赖长度是一样的从Maven2.0.9开始此时遵循第一声明者优先即顺序最靠前的那个依赖优先 3排除依赖 传递性依赖会给项目隐式地引入很多依赖这极大地简化了项目依赖的管理但是有时候这种特性也会带来问题。比如有种情况 当前项目依赖AA由于某些原因依赖了另外一个类库的SNAPSHOT版本那么这个SNAPSHOT就会成为当前项目的传递性依赖二SNAPSHOT的不稳定性将直接影响到当前的项目此时就需要排除该SNAPSHOT并且在当前项目中声明该类库的某个正式发布的版本 dependencygroupIdcom.alibaba.rocketmq/groupIdartifactIdrocketmq-client/artifactIdversion3.2.7/versionexclusionsexclusiongroupIdapache-lang/groupIdartifactIdcommons-lang/artifactId/exclusion/exclusions /dependency 这里引入了rocketmq的依赖但是不想依赖rocketmq里面的apache-lang而想要自己引入依赖所以就把apache-lang给排除了。 这里需要注意的是声明exclusion的时候只需要groupId和artifactId即可而不需要version元素这是因为只需要groupId和artifactId就能唯一定位依赖图中的某个依赖。换句话说Maven解析后的依赖中不可能出现groupId和artifactId相同但是version不同的两个依赖。 二settings.xml设置 settings.xml里面是Maven的基本配置元素比较多逐一看一下 1、proxy proxy表示Maven的代理看一下写法 proxiesproxyidoptional/idactivetrue/activeprotocolhttp/protocolusernameproxyuser/usernamepasswordproxypass/passwordhostproxy.host.net/hostport80/portnonProxyHostslocal.net|some.host.com/nonProxyHosts/proxy /proxies 需要proxy是因为很多时候你所在的公司基于安全因素考虑要求你使用通过安全认证的代理访问因特网。这种情况下就需要为Maven配置HTTP代理才能让它正常访问外部仓库以下载所需要的资源。proxies下可以配置多个proxy元素如果声明了多个proxy元素则默认情况下第一个被激活的proxy会生效。active为true表示激活该代理protocol表示使用的代理协议当然最重要的是指定正确的主机名host和端口port如果代理服务器需要认证则配置username和passwordnonProxyHost元素表示指定哪些主机名不需要代理可以用|分隔多个主机名也支持通配符*。 2、repository repository表示Maven的中央仓库因为尽管默认的远程仓库中的构件非常庞大但是总归会有不满足我们需求的时候这时候就要用到别的中央仓库了。看一下写法 repositoryidpublic/idnamelocal private nexus/nameurlhttp://192.168.1.6:8081/nexus/content/groups/public/urlreleasesenabledtrue/enabled/releasessnapshotsenabledfalse/enabled/snapshots /repository 可以声明多个repository。id必须是唯一的尤其注意Maven自带的中央仓库使用的id为central如果其他仓库声明也用该id就会覆盖中央仓库的配置。releases和snapshots比较重要前者表示开启仓库的发布版本下载支持后者表示关闭仓库的快照版本下载支持这样一来Maven就会去仓库下载发布版本的构件而不会下载快照版本的构件了。 3、server 大部分远程仓库无须认证就可以访问但是有时候处于安全方面的因素考虑需要提供认证信息才能访问一些远程仓库处于安全考虑认证信息一般只放在settings.xml中server就是认证元素。看一下配置 serveridnexus-releases/idusernamedeployment/usernamepassworddeployment/password /server 这里的关键是id这个id必须与需要认证的repository元素的id完全一致才行换句话说正式这个id将认证信息和仓库配置联系在了一起。 4、mirror 如果仓库X可以提供仓库Y存储的所有内容那么就可以认为仓库X是仓库Y的一个镜像mirror换句话说任何一个可以从Y中获取到的构件够可以从X中获取到。举个例子http://maven.net.cn/content/groups/public/是中央仓库http://repo1.maven.org/maven2/在中国的镜像由于地理位置的因素该镜像往往能够提供比中央仓库更快的服务这就是为什么要使用mirror的原因。 看一下mirror的配置 mirroridnexus/idnameinternal nexus repository/nameurlhttp://192.168.1.6:8081/nexus/content/groups/public/urlmirrorOf*/mirrorOf /mirror 该例子中mirrof为*表示该配置为所有中央仓库的镜像任何对于中央仓库的请求都会转至该镜像。另外三个元素id、name、url与一般仓库配置无异表示该镜像仓库的唯一标识符、名称以及地址。类似的如果该镜像需要认证也可以基于该id配置仓库认证。 5include与exclude及其filter的使用 Maven resource中的include与exclude用于包含或排除某一文件目录下的文件是否是工程资源的。若include与exclude划定的范围存在冲突则以include配置为准。 使用include可以规定指定路径下的xml包括properties文件在编译期将文件指定的profiles.active替换掉。 例如XXX.properties中我们使用profiles.active来代表激活的偏好。那么在Maven编译时,就会将profiles.active替换成真正的偏好。 exclude的作用 使用exclude可以规定指定路径下的配置文件在编译后打包时不被放入资源路径里。 大概就是include中会被编译进jar包exclude不会被编译进jar包。注 如果include与exclude划定的范围存在冲突时 并不会执行exclude,而是执行include include和exclude里filtering总结 filtering为true: include:替换指定文件中xx表示的maven properties属性值 exclude:替换指定文件以外xx表示的maven properties属性值 filtering为false: include:不替换指定文件中xx表示的maven properties属性值 exclude:不替换指定文件以外xx表示的maven properties属性值 以上include与exclude划定的范围存在冲突则以include配置为准。 6maven-shade-plugin插件 artifactSet可以是将整个jar过滤掉filters是进行jar包中更细致的过滤行为。 Maven插件maven-shade-plugin:https://blog.csdn.net/MAIMIHO/article/details/106462976   https://my.oschina.net/u/2377110/blog/1585553 pom文件中每行详细解释https://blog.csdn.net/qq_32506245/article/details/113061321 三检测依赖的冗余依赖 1使用mvn dependency:analyze来分析 会智能的分析出pom文件中设置不合理的情况比如分析出kafka-clients在pom文件中定义了两次 [WARNING] dependencies.dependency.(groupId:artifactId:type:classifier) must be unique: org.apache.kafka:kafka-clients:jar - version ${kafka.version} vs 0.10.2.1 line 115, column 17 2 参考链接 pox.xml和settings.xml解析https://www.cnblogs.com/xrq730/p/5530069.html maven常用命令以及遇到的问题https://blog.csdn.net/rhwaitingvous/article/details/116788390?spm1001.2014.3001.5502 maven中include、exclude、filter的使用:https://www.jianshu.com/p/3d1075de3015
http://www.dnsts.com.cn/news/130843.html

相关文章:

  • 东南亚cod建站系统唐兴数码网站
  • 使用angular2框架做的网站建旅游网站的意义
  • 莱阳网站制作购物网站建设需要什么资质
  • 郓城网站建设电话wordpress云建站
  • 网站规划和布局门户网站制作平台
  • 写作网站设定实战网站开发
  • 作者自己建立的网站青岛城阳网站制作
  • 沈阳自助模板建站营销技巧有哪些方面
  • 济阳做网站哪家好济南建站价格
  • vs2008 新建网站男女做那个的视频网站
  • 关于加强网站建设的建议冠县网站建设gxsh
  • 厦门市建设区网站首页杭州购物网站建设
  • 做调查的有哪些网站有哪些普陀做网站公司
  • dedecms5.7化妆品公司网站源码网站被加入js广告
  • 广州高端网站制作公司哪家好深圳家装
  • 大连投诉网站重庆建设工程监督管理局网站
  • 响应式网站有哪些网站推广排名优化
  • 做果蔬行业的网站遵义湘江投资建设有限责任公司门户网站
  • 公司网站设计费计入什么科目网页设计与制作课件清华大学
  • 做网站需要企业站酷的网址
  • 网站制作和维护费用如何攻克房地产网站
  • 个个大公司网站万站网
  • wordpress 站点语言昆明网站制作专业
  • html5手机网站模板天津手机版建站系统价格
  • 高端网站有哪些优势注册公司需要啥资料
  • 网站地图对seo的影响cms 网站模板
  • wordpress类似网站国内永久crm不需要下载app
  • 网站经营内容界面设计是什么专业
  • 大连建网站网站开发中都引用什么文献
  • 怎样做国际网站平台网站开发工作分解结构