Maven中的插件和依赖有以下区别:
- 作用对象不同:
依赖:用于项目中引入外部库,给项目代码使用。
插件:用于扩展Maven工具本身的功能,比如编译插件、打包插件等。 - 声明方式不同:
依赖:在pom.xml的标签中声明。
插件:在pom.xml的标签中声明。 - scopes不同:
依赖:可以声明compile、test、runtime等作用域。
插件:没有作用域的概念。
示例代码:
依赖声明:
xml
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
</dependencies>
插件声明:
xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
</plugins>
</build>
总之,Maven依赖用于项目开发,增加项目功能。而Maven插件用于扩展Maven本身,定制Maven的打包、编译等行为。