文档章节

Maven scope

小李飞刀008
 小李飞刀008
发布于 2016/09/25 21:41
字数 506
阅读 19
收藏 0

 依赖范围控制哪些依赖在哪些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 仓库中引用依赖)

© 著作权归作者所有

上一篇: zookeeper 集群安装
下一篇: Jedis连接redis
小李飞刀008
粉丝 30
博文 18
码字总数 10732
作品 0
朝阳
架构师
私信 提问
maven+jetty开发实例

最近准备离职了,等着到20号离开。所以在公司里面没有什么事情,自己研究了一下maven。以前对他的认识主要是依赖管理,而这几天的学习,对他的plugin机制影响特别深刻。特别的是jetty插件的使...

walb呀
2017/12/06
0
0
Maven 依赖范围(Dependency Scope)

Dependency Scope Dependency scope is used to limit the transitivity of a dependency, and also to affect the classpath used for various build tasks. 依赖范围用于限制依赖项的传递性......

晨猫
2018/11/18
0
0
取maven copy部分

mvn deploy:deploy-file -DgroupId=com.mycompany -DartifactId=my-project -Dversion=1.0.0 -Dpackaging=jar -Dfile=myproject-name.jar -Durl=http://localhost:8081/nexus/content/reposi......

小麋鹿666
2018/01/13
0
0
Maven使用本地jar包并打包进war包里面的方法

很显然,这种方法是很不可取的,因为Maven是用来团队合作,以及发布开源代码的。而使用本地jar包,则使得Maven丧失了这部分的优点。不 过,我遇到的问题是,我想学习Maven,然后我以前的项目...

ada_young
2016/02/05
1K
4
解决 maven 打包后无本地jar

Maven使用本地jar包并打包进war包里面的方法 很显然,这种方法是很不可取的,因为Maven是用来团队合作,以及发布开源代码的。而使用本地jar包,则使得Maven丧失了这部分的优点。不过,我遇到...

Java编程思想
2013/12/07
0
1

没有更多内容

加载失败,请刷新页面

加载更多

REST接口

文章来源 https://zhuanlan.zhihu.com/p/28674721?group_id=886181549958119424 http://www.ruanyifeng.com/blog/2014/05/restful_api.html REST 对请求的约定 REST 用来规范应用如何在 HTTP......

Airship
昨天
1
0
Spring Cloud Config 统一配置中心

Spring Cloud Config 统一配置中心 一、统一配置中心 统一管理配置 通常,我们会使用配置文件来管理应用的配置。如一个 Spring Boot 的应用,可以将配置信息放在 application.yml 文件中,如...

非摩尔根
昨天
1
0
android ------ AAPT2 error: check logs for details解决方法

AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具。它的作用是将所有资源文件压缩打包到Android APK 当中。我们在 Android SDK 目录...

切切歆语
昨天
2
0
今天的学习

今天学到了<select></select>标签: <label for="unittype">Select unit type: </label><select id="unittype" name="unittype" autofocus > <option value="1"> Miner </option> ......

墨冥
昨天
2
0
程序员随想-关于分享

最早的时候,文字是贵族这些上层人士才会学习的,底层人士没有资格和渠道去学习,同样用文字、图像等其他载体承载的知识大部分也只有贵族阶层才能享受的。后来有了造纸术、印刷术,成本降低,...

Lubby
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部