Maven依赖管理和插件配置

导入依赖

导入依赖坐标,无需手动导入jar包就可以引入jar,在pom.xml中使用标签引入依赖

  1. 导入junit的依赖
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

进行单元测试

import org.junit.Test;
public class DemoTest {
    
    
    @Test
    public void test1(){
    
    
        System.out.println("测试junit");
    }
}
  1. 导入servlet的依赖
  • 创建Servlet,但是发现报错,原因是没有导入Servlet的坐标依赖
  • 导入Servlet的坐标依赖
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

原有报错的Servlet恢复正常

依赖范围

依赖范围 对于编译classpath有效 对于测试classpath有效 对于运行时classpath有效 举例
compile spring-core
test Junit
provided servlet-api
runtime JDBC驱动
system 本地,除Maven仓库之外的类库

按照依赖强度,由强到弱来排序:

compile > provided > runtime > test

就拿上面的servlet依赖来说:
在这里插入图片描述
<scope>provided</scope>定义了依赖的有效范围,如果没有定义就默认为compile范围

https://blog.csdn.net/qq_43511405/article/details/109011948

jsp或servlet依赖范围不能省略原因

Maven插件

Maven是⼀个核心引擎,提供了基本的项目处理能力建设过程的管理,以及一系列的插件是用来执行实际建设任务,maven插件可以完成⼀些特定的功能。例如,集成jdk插件可以方便的修改项目的编译环境;集成tomcat插件后,无需安装tomcat服务器就可以运行tomcat进行项目的发布与测试,在pom.xml中通过plugin标签引入maven的功能插件

  1. JDK编译版本的插件
        <!--jdk编译插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
  <source>1.8</source>
  <target>1.8</target>
  <encoding>utf-8</encoding>
</configuration>
</plugin>
  1. Tomcat7服务端的插件
<plugins>
<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <configuration>
    <!-- 指定端⼝ -->
    <port>8080</port>
    <!-- 请求路径 -->
    <path>/</path>
  </configuration>
</plugin>
</plugins>

Maven的中央仓库中只有Tomcat7.X版本的插件,而之前我们使用的是8.X的版本,如果想使Tomcat8.X的插件可以去其他第三方仓库进行寻找,或者使用IDEA集成外部Tomcat8极其以上版本,进行项目的发布

插件添加位置

<build>
<!--添加插件-->
<plugins>
  <plugin>
  </plugin>
  <plugin>
  </plugin>
</plugins>
</build>

猜你喜欢

转载自blog.csdn.net/qq_43511405/article/details/109012222