新公司用maven管理jar包依赖关系,使用学习中的一些东西记录在此,刚学习了下scope的使用, 转载一个51CTO的文章, 进行备忘!
依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围:
compile (编译范围)
compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。
provided (已提供范围)
provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译 classpath 中需要可用的Servlet API 来编译一个servlet,但是你不会想要在打包好的WAR 中包含这个Servlet API;这个Servlet API JAR 由你的应用服务器或者servlet 容器提供。已提供范围的依赖在编译classpath (不是运行时)可用。它们不是传递性的,也不会被打包。
runtime (运行时范围)
runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要JDBC API JAR,而只有在运行的时候才需要JDBC
驱动实现。
test (测试范围)
test范围依赖 在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。
system (系统范围)
system范围依赖与provided 类似,但是你必须显式的提供一个对于本地系统中JAR 文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven 也不会在仓库中去寻找它。如果你将一个依赖范围设置成系统范围,你必须同时提供一个 systemPath 元素。注意该范围是不推荐使用的(你应该一直尽量去从公共或定制的 Maven 仓库中引用依赖)
原文地址:http://drizzlewalk.blog.51cto.com/2203401/665590
分享到:
相关推荐
使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...
标题中的“springboot(web项目,非maven)”指的是一个基于Spring Boot框架构建的Web应用程序,但它不是使用Maven作为构建工具。Spring Boot简化了Java Web应用的开发过程,提供了快速构建可运行的应用程序的方式,而...
Maven 使用一组独特的标识来唯一确定一个库,这包括 `groupId`、`artifactId` 和 `version`,类似于 Java 中的包名、类名和版本号。 3. **依赖管理(Dependency Management)** Maven 自动处理项目依赖关系,只需...
其次,需要在MYECLIPSE中配置MAVEN插件,以便在MYECLIPSE中使用MAVEN。 2.1 配置环境变量 在Windows操作系统中,可以通过右键点击“计算机”图标,选择“属性”,然后选择“高级系统设置”,在“高级”选项卡中,...
- Maven 允许在 POM 文件中使用 exclusions 来排除不需要的依赖。 - 例如,如果一个依赖项引入了一个不需要的依赖,可以通过 `<exclusions>` 节点来排除它。 9. **settings.xml 文件详解** - **Local ...
### Maven在企业中的使用 #### Maven概述与特性 Maven是一种强大的项目管理和综合工具,尤其在Java项目中扮演着至关重要的角色。它不仅继承了Ant的构建能力,更进一步提供了高级项目管理工具,弥补了Ant在项目管理...
1.使用骨架创建maven项目,此处选择:maven-archetype-quickstart 2.填入GroupId和ArtifactId 3.第一个选中maven安装的文件夹,第二个选中maven安装文件夹中的conf/settings.xml,第三个如果settings.xml中配置了...
maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...
然而,并非所有的项目都选择使用Maven作为构建工具,JPress的非Maven版本就是为那些不喜欢或者不习惯使用Maven的用户提供的一种选择。这种版本通常会提供一个完整的项目结构,包含所有必要的库和配置文件,用户可以...
例如,你可能需要在测试中使用 JUnit 框架,但是在实际应用中不需要。test 依赖的使用可以使得测试更方便。 system(系统范围) system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR ...
然而,通常我们使用Maven或Gradle作为构建工具来管理Spring Boot项目的依赖。但是,有时由于特定需求或环境限制,可能需要创建一个不依赖于Maven的Spring Boot项目。本篇文章将详细讲解如何搭建一个非Maven的Spring ...
Apache Maven是一个强大的项目管理工具,它提供了丰富的插件系统来扩展构建过程。exec-maven-plugin是Maven生态系统中的一个...通过这些知识点,读者可以更加自信地在Maven项目中使用exec-maven-plugin来执行外部命令。
### Maven安装与使用详解 ...通过以上步骤,您已经掌握了Maven的基础安装与配置,以及如何在Eclipse中使用Maven进行项目管理。Maven的强大之处在于它能够自动化许多常见的构建任务,极大地提高了开发效率。
开发者只需要在 IDEA 插件市场中搜索 Maven Helper,然后安装并重启 IDEA 就可以开始使用。需要注意的是,在国内网络连接 JetBrains 服务器可能会比较慢,需要使用代理服务器来加速安装过程。 5. Dependency ...
- `build/plugins`: 配置构建过程中使用的Maven插件,包括`groupId`, `artifactId`, `version`,以及插件的目标(goals)和配置参数。 - `build/pluginManagement`: 类似于`dependencyManagement`,提供插件版本和...
在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven 官方网站(http://maven.apache.org/)下载 Maven,并按照安装向导安装。 2. 配置 Maven 环境 在 IDEA 中配置 Maven 环境,首先打开 IDEA,选择 File --> ...
在非Maven项目中集成MinIO可能涉及到手动管理依赖项,这确实是一项挑战,因为需要确保所有必需的jar包正确无误。标题和描述提到了在非Maven项目中集成MinIO时可能会遇到的jar包冲突问题。 以下是你提供的压缩包中的...
**李兴华maven配置与使用** Maven是一款强大的项目管理工具,主要应用于Java开发领域。它通过统一的构建过程,简化了项目的构建、依赖管理和文档生成,使得开发者能够更专注于代码本身。以下是对Maven配置与使用的...
5. **支持Java 9**: Maven 3.5.2兼容Java 9,允许开发者在新的JDK环境下使用Maven。 **Maven 的使用流程** 1. **创建项目**: 使用`mvn archetype:generate`命令可以快速创建一个基于模板的新项目。 2. **编辑POM*...
java视频教程之SVN Maven搭建自动化构建教程 Eclipse中使用Maven视频教程云盘下载链接