maven概念、依赖、以及设置jdk版本、设置tomcat插件、命令

Maven是一款项目管理工具,其核心概念包括依赖管理和构建。依赖管理通过配置项目依赖的jar包,简化项目构建过程。构建则配置项目运行环境,如JDK和Tomcat版本。Maven命令如clean、compile、test、package、install、deploy用于项目不同阶段的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

maven的概念模型

maven主要有依赖管理构建两部分
依赖管理负责配置项目所依赖的jar包,使得项目不需要手动添加很多包,节省了项目占用的空间。
构建负责配置项目的运行环境,maven命令对应的插件(可以省略)

在pom.xml配置文件中有项目本身的信息所依赖的jar包信息项目运行的环境(jdk版本、tomcat版本等)

一. 依赖管理

  <dependencies>
      <groupId>cn.itls</groupId>
      <artifactId>[the artifact id of the block to be mounted]</artifactId>
      <version>1.0-SNAPSHOT</version>
      <scope>test</scope>
  </dependencies>
  
	groupId:组织的名称
	artifactId:项目名称
	version:版本号
	scope:依赖范围
依赖范围:
  1. compile:编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在 编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。

  2. provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。

  3. runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。

  4. test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用, 比如:junit。由于运行时不需要所以 test范围依赖不会被打包。

  5. system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR 文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。
    在这里插入图片描述

    1. 默认引入 的 jar 包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
    2. servlet-api 、jsp-api ------- provided (编译、测试 有效, 运行时无效 防止和 tomcat 下 jar 冲突) jdbc 驱动 jar 包 ---- runtime (测试、运行 有效 )
    3. junit ----- test (测试有效)
    • 依赖范围由强到弱的顺序是:compile>provided>runtime>test

构建

设置jdk版本

设置jdk版本可以在maven的setting.xml配置文件中设置,也可以在当前项目中设置。

  1. 在setting.xml文件中配置 (maven安装目录的conf/setting.xml文件)
    这个文件中本来就有<profile>标签
<profile>    
    <id>jdk-1.8</id>    
     <activation>    
        <activeByDefault>true</activeByDefault>    
        <jdk>1.8</jdk>    
      </activation>    
    <properties>    
        <maven.compiler.source>1.8</maven.compiler.source>    
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 
    </properties>    
</profile>
  1. 在当前项目中配置
    打开pom.xml文件,添加以下配置信息
<build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>  
                <configuration>  
                    <source>1.8</source>  
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>  
            </plugin>  
        </plugins>  
</build>
设置tomcat插件版本

maven自身集成有tomcat插件,所以可以自由设置

<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.1</version>
	<configuration>
		<port>8080</port>
        <path>/</path>
        <uriEncoding>UTF-8</uriEncoding>
	</configuration>
</plugin>

	path:访问的路径
	port:端口号
	uriEncoding:URL按UTF-8进行编码,解决了中文参数乱码

maven具有如下命令

  1. mvn一键构建命令:
    mvn tomcat:run:用maven集成的tomcat插件来运行的 (tomcat插件其实有tomcat基本功能)
    常用maven命令
  2. mvn clean:清理
  3. mvn compile:编译主程序
  4. //mvn test-compile:编译测试程序
  5. mvn test:执行测试
  6. mvn package:打包
  7. mvn install:安装
  8. mvn deploy:发布

maven依赖传递exclusions和optional

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值