织梦一键更新网站,wordpress开源博客系统最新版,两学一做网站网址大全,彩票网站开发 违法使用 Maven 构建产生的构件#xff08;例如 Jar 文件#xff09;被其他的项目引用#xff0c;那么该构件就是其他项目的依赖。
依赖配置
配置信息示例#xff1a;
1.项目信息#xff1a;
projectmodelVersion4.0.0/modelVersiongroupId例如 Jar 文件被其他的项目引用那么该构件就是其他项目的依赖。
依赖配置
配置信息示例
1.项目信息
projectmodelVersion4.0.0/modelVersiongroupIdcom.example/groupIdartifactIdmy-project/artifactIdversion1.0.0/versionpackagingjar/packagingnameMy Project/namedescriptionThis is a Maven project./description...
/projectmodelVersion指定使用的 Maven 模型版本。groupId定义项目的组织或者组织唯一标识符。artifactId定义项目的唯一标识符。version定义项目的版本号。packaging定义项目的打包类型例如 jar、war、pom 等。name定义项目的名称。description定义项目的描述信息。
2.依赖管理
projectdependenciesdependencygroupId/groupIdartifactId/artifactIdversion/versiontype.../typescope.../scopeoptional.../optionalexclusionsexclusiongroupId.../groupIdartifactId.../artifactId/exclusion/exclusions/dependency/dependencies
/projectdependencies一个 pom.xml 文件中只能存在一个这样的标签是用来管理依赖的总标签。dependency包含在 dependencies 标签中可以有多个每一个表示项目的一个依赖。groupId、artifactId、version(必要)依赖的基本坐标对于任何一个依赖来说基本坐标是最重要的Maven 根据坐标才能找到需要的依赖。type(可选)依赖的类型对应于项目坐标定义的 packaging。大部分情况下该元素不必声明其默认值是 jar。scope(可选)依赖的范围默认值是 compile。optional(可选)标记依赖是否可选exclusions(可选)用来排除传递性依赖,例如 jar 包冲突
3.构建插件
buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin.../plugins
/build
build定义项目的构建配置。plugins包含项目构建插件的列表。plugin每个插件的具体配置。groupId、artifactId、version插件的组织ID、artifact ID 和版本号。configuration插件的配置参数例如编译器版本等。
4.仓库配置
repositoriesrepositoryidcentral/idurlhttps://repo.maven.apache.org/maven2/url/repository...
/repositories
repositories定义项目的仓库列表。repository每个仓库的具体定义。id仓库的唯一ID。url仓库的URL地址。
5.插件仓库配置
pluginRepositoriespluginRepositoryidcentral/idurlhttps://repo.maven.apache.org/maven2/url/pluginRepository...
/pluginRepositoriespluginRepositories定义项目构建插件的仓库列表。pluginRepository每个插件仓库的具体定义。
依赖范围
classpath 用于指定 .class 文件存放的位置类加载器会从该路径中加载所需的 .class 文件到内存中。
Maven 在编译、执行测试、实际运行有着三套不同的 classpath
编译 classpath编译主代码有效测试 classpath编译、运行测试代码有效运行 classpath项目运行时有效
Maven 的依赖范围如下
compile编译依赖范围默认使用此依赖范围对于编译、测试、运行三种都有效即在编译、测试和运行的时候都要使用该依赖 Jar 包。test测试依赖范围从字面意思就可以知道此依赖范围只能用于测试而在编译和运行项目时无法使用此类依赖典型的是 JUnit它只用于编译测试代码和运行测试代码的时候才需要。provided此依赖范围对于编译和测试有效而对运行时无效。比如 servlet-api.jar 在 Tomcat 中已经提供了我们只需要的是编译期提供而已。runtime运行时依赖范围对于测试和运行有效但是在编译主代码时无效典型的就是 JDBC 驱动实现。system系统依赖范围使用 system 范围的依赖时必须通过 systemPath 元素显示地指定依赖文件的路径不依赖 Maven 仓库解析所以可能会造成建构的不可移植。 更多消息资讯请访问昂焱数据。