为了账号安全,请及时绑定邮箱和手机立即绑定

java依赖管理maven和gradle中,dependency和plugin的区别是?

java依赖管理maven和gradle中,dependency和plugin的区别是?

千万里不及你 2018-07-23 11:23:22
 <dependency>         <groupId>xerces</groupId>         <artifactId>xercesImpl</artifactId>         <version>2.9.1</version>     </dependency><plugin>                     <groupId>org.apache.maven.plugins</groupId>                     <artifactId>maven-compiler-plugin</artifactId>                     <configuration>                         <source>1.8</source>                         <target>1.8</target>                     </configuration>                 </plugin>我一直搞不清楚这俩有啥区别,尤其是plugin,谁给我讲讲,谢谢了
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

直白点来说:
A. dependency引入的东西是你代码编译/运行时所需要的东西,项目打包后这些东西基本都在。
如:JSON工具包GSON(com.google.code.gson),不仅开发时要用,项目运行时也要用,就需要打包进项目中;
而像 javax.servlet-api 这种由容器实现的接口,运行时调用的是容器的具体实现,开发时它的引入范围应该是编译(<scope>provided</scope>),不会被打包进项目。

B. plugin引入的东西,如它的字面意思一样,是插件,作为开发/编译/打包时的一种辅助工具,一般不会打包进项目中。
如:使用 maven-source-plugin 插件将API包的源码一起打包,方便发布至Maven仓库,而这个插件不会在打包后的项目中出现。


查看完整回答
反对 回复 2018-07-25
  • 1 回答
  • 0 关注
  • 1309 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信