网站 绝对路径,wordpress插件上传图片,安乡网站制作,seo整站优化哪家专业【maven坐标】1.groupId: 通常与域名反向一一对应2.artifactId: 通常使用实际项目名称3.version: 项目当前版本号4.packaging#xff1a;maven项目的打包方式#xff0c;默认是jar5.classifier: 定义构建输出的一些附属构件#xff0c;例如#xff1a;nexus-indexer-2.0.0.…【maven坐标】1.groupId: 通常与域名反向一一对应2.artifactId: 通常使用实际项目名称3.version: 项目当前版本号4.packagingmaven项目的打包方式默认是jar5.classifier: 定义构建输出的一些附属构件例如nexus-indexer-2.0.0.jar是主构件nexus-indexer-2.0.0-javadoc.jar是附属构建【依赖配置】dependencies dependency groupId/groupId artifactId/artifactId version/version type/type scope/scope optional/optional exclusions exclusion/exclusion /exclusions /dependency/dependencies1.groupId、artifactId、version是依赖的基本坐标2.type: 依赖类型对应项目坐标定义的packaging默认为jar3.scope: 依赖范围默认为compile。可选值为compile,test,provided,runtime,system,import| Col1 | Col2 | | --- | --- | | compile | 编译依赖范围对于编译、测试、运行三种classpath都有效 || test | 测试依赖范围只对测试classpath有效例如Junit | | provided | 已提供依赖范围对于编译和测试classpath都有效但在运行时无效比如servlet-api,编译和测试项目的时候需要改依赖但在运行项目的时候由于容器已经提供就不需要maven重复的引入一遍 | | runtime | 运行时依赖范围对于测试和运行classpath有效但在编译代码时无效。典型例子是JDBC驱动的实现项目主代码的编译只需要JDK提供的JDBC接口只有在项目运行时才需要实现上述接口的具体JDBC驱动。 | | system | 系统依赖范围对于编译和测试classpath都有效但在运行时无效。使用system范围依赖时必须通过systemPath元素显示的指定依赖文件的路径。| | import | 导入依赖范围该范围的依赖只在dependencyManagement元素下才有效果使用该范围的依赖通常指向一个pom,作用是将目标pom中的dependencyManagement配置导入并合并到当前pom的dependencyManagement元素中|【传递性依赖】1. 如果A依赖BB依赖C,那么C就是A的传递性依赖【依赖调解】1. 假如项目A有这样的依赖关系A-B-C-X(1.0),A-D-X(2.0),X是A的传递性依赖此时X出现两个maven会选择路径最近的依赖也就是路径最近者优先如果路径长度都一样那么在pom依赖中谁最先被声明谁会被解析使用。也就是说如果存在依赖冲突先考虑路径长度然后再考虑声明顺序【可选依赖】1. 假如A-BB-X(可选)|B-Y(可选)由于X、Y是B的可选依赖依赖将不会得到传递换句话说X、Y将不会对A有任何影响。【排除依赖】1. exclusions可以包含一个或者多个exclusion子元素因此可以排除一个或多个传递性依赖【优化依赖】1. mvn dependency:list(查看项目中已解析依赖)2. mvn dependency:tree(查看依赖树)3. mvn dependency:analyze(分析依赖)