你好杰米
2018-06-14 01:54
采纳率: 80%
浏览 4.1k
已采纳

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

 <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,谁给我讲讲,谢谢了

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

  • 李小六 2018-06-14 09:07
    最佳回答

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

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

    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题