文档章节

maven scope说明

_
 _luna_
发布于 2015/08/24 22:59
字数 417
阅读 27
收藏 0

scope控制哪些依赖在哪些classpath中可用,哪些依赖包含在一个应用中。

compile

默认范围。compile依赖在所有的classpath中可用,同时它们也会被打包。

provided

只有在当JDK或一个容器已提供该依赖之后才使用。例如,开发了一个web应用,你可能在编译classpath中需要可用的Servlet API来编译一个servlet,但是你不会想要在打包好的WAR中包含这个Servlet API;这个Servlet API Jar由你的应用服务器或者servlet容器提供。已提供范围的依赖在编译classpath(不是运行时)可用。它们不是传递性的,也不会被打包。

runtime

在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要JDBC API Jar,而只有在运行的时候才需要JDBC驱动实现。

test

在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。

system

与provided类似,但是必须显式的提供一个对于本地系统中Jar文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven也不会在仓库中去寻找它。如果你将一个依赖范围设置成system,你必须同时提供一个systemPath元素。注意该范围是不推荐使用的(你应该一直尽量去从公共或定制的Maven仓库中引用依赖)。

© 著作权归作者所有

共有 人打赏支持
_
粉丝 0
博文 2
码字总数 2732
作品 0
法国
eclipse中的maven web项目war包部署到tomcat问题

为什么通过eclipse的export导出的war可以复制到tomcat下直接部署,但是通过maven的instal打包的war部署到tomcat后却访问不到??? pom.xml配置如下:...

问题达人
2016/05/31
2.9K
3
关于maven下 使用Spring 集成Junit版本问题

maven建立的测试项目,今天在做测试dao接口的时候,在Spring环境中使用Junit,发现@RunWith(SpringJUnit4ClassRunner.class)这句话报错了,网上找些资料看,说可能是maven默认使用的是3.8.1...

Zain丶酱
2016/07/29
795
4
使用assembly plugin实现自定义打包

在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了实现自己需要的打包格式而使用maven ant task以maven +ant的方式来实现非标准打包,而现在要介绍的是maven中针对打包任务而提供的...

squanchao
2015/10/17
1K
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
01/13
0
0
maven+jetty开发实例

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

walb呀
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
22分钟前
1
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
24分钟前
1
0
JDK版本与major.minor version的对照关系

其实,只需要记住jdk6对于major.minor version 50即可,其他版本自行计算即可。 ---------------------

码代码的小司机
27分钟前
1
0
C++基础教程面向对象学习笔记及心得感悟[图]

C++基础教程面向对象学习笔记及心得感悟[图] 使用友元函数重载算术运算符: C ++中一些最常用的运算符是算术运算符 - 即加号运算符(+),减运算符( - ),乘法运算符(*)和除法运算符(/...

原创小博客
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部