maven

目录

  • 引导
    • Intellij IDEA 添加jar包
      • 法1 lib -- jar
      • 法2 导入
        • 在项目配置中导入: project structure -- libraries -- add jar -- add to modules
        • project structure -- modules -- add jar
      • 法3 maven
  • 教程
  • 学习
    • Maven 生命周期

引导

项目中使用的 jar 包至少是成百上千,每个 jar 包之间还会有依赖性,jar 包也很难去找,所以人为的管理这么多 jar 包显然是不合理的
我们就需要可以管理这些包的工具,Maven 就是其中之一

Intellij IDEA 添加jar包

https://blog.csdn.net/qq_43599841/article/details/127368168

maven_第1张图片

法1 lib – jar

步骤1:复制
jar包复制粘贴到项目的lib目录下
1 对于导入的eclipse项目,该方式添加的jar包没有任何反应,用make编译项目会报错
2 对于在idea中创建的项目,该方式添加jar包,编译不报错

步骤2:右键

法2 导入

在项目配置中导入: project structure – libraries – add jar – add to modules

maven_第2张图片

导入项目外部jar包:
maven_第3张图片

maven_第4张图片

project structure – modules – add jar

maven_第5张图片

法3 maven

教程

中文官网
https://maven.org.cn/
https://maven.org.cn/pom.html
https://juejin.cn/post/6844903824524574734
https://maven.org.cn/guides/plugin/guide-java-plugin-development.html#介绍
https://blog.csdn.net/m0_37989980/article/details/104249966
菜鸟教程 https://www.runoob.com/maven/maven-tutorial.html

		<dependency>
			<groupId>xxx</groupId>
			<artifactId>abc</artifactId>
			<version>${abc.version}</version>
			<exclusions>
				<exclusion>
					<groupId>i.n</groupId>
					<artifactId>n-a</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

依赖模块的 坐标(artifactId) 就是abc,和文件名无关

可能这个项目名叫 abc-1,但他自己可以:
abc-1 的 pom.xml :

	<parent>
		<groupId>cccgroupId>
		<artifactId>abc-parentartifactId>
		<version>2.1.1.1-RELEASEversion>
		<relativePath>../pom.xmlrelativePath>
	parent>

	<artifactId>abcartifactId>
	<packaging>jarpackaging>
	<name>abcname>

一个项目可能有4个子模块
你引用的可以是其中的1个模块

	<dependency>
		<groupId>xb-1groupId>
		<artifactId>abcdartifactId>
		<version>${abcd.version}version>
		<exclusions>
			<exclusion>
				<groupId>i.ngroupId>
				<artifactId>n-aartifactId>
			exclusion>
		exclusions>
	dependency>

${abcd.version} 关联的是 父pom 的 ar-2.2.1-SNAPSHOT.xml

	<parent>
		<groupId>xb-2groupId>
		<artifactId>arartifactId>
		<version>2.2.1-SNAPSHOTversion>
	parent>

甚至是父的父的父
本地库原本是空的,在导包的时候,这些都会导进来

 <properties>
	
	<encoding>UTF-8encoding>
	<project.build.s>${encoding}project.build.s>
	<project.reporting.o>${encoding}project.reporting.o>
	
	
	
	
	<ant-launcher.version>${ant.version}ant-launcher.version>
	<spring-cloud-starter.version>${spring-cloud.version}spring-cloud-starter.version>
	
	<abc.version>1.2.9abc.version>
	<abc-1.version>1.2.9abc-1.version>
properties>

学习

目录 目的
${basedir} 存放pom.xml和所有的子目录
${basedir}/src/main/java 项目的java源代码
${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java 项目的测试类,比如说Junit代码
${basedir}/src/test/resources 测试用的资源
${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target 打包输出目录
${basedir}/target/classes 编译输出目录
${basedir}/target/test-classes 测试编译输出目录
Test.java Maven只会自动运行符合该命名规则的测试类
~/.m2/repository Maven默认的本地仓库目录位置
● 文件及文件夹解析:
  ○ pom.xml:maven 项目的核心配置文件
  ○ src:源码目录
    ■ main:主体程序目录
      ● java:java 源代码
        ○ com 及以下:package 目录,且与 maven 坐标对应
    ■ test:测试程序目录
      ● java:java 源代码
        ○ com 及以下:同上

目前开发领域的技术发展趋势就是:规范大于配置,配置大于编码

Maven 生命周期

三个标准的生命周期:

1、Clean 生命周期
clean:删除目标目录中的编译输出文件。通常在构建之前执行,确保项目从一个干净的状态开始

2、Default 生命周期(= Build 生命周期)

阶段 处理 描述
验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的
编译 compile 执行编译 源代码编译在此阶段完成
测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。
包装 package 打包 将编译后的代码打包成可分发的格式,例如 JAR 或 WAR
检查 verify 检查 对集成测试的结果进行检查,以保证质量达标
安装 install 安装 安装打包的项目到本地仓库,以供其他项目使用
部署 deploy 部署 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程

3、Site 生命周期
site:生成项目文档和站点信息。
deploy-site:将生成的站点信息发布到远程服务器,以便共享项目文档。

你可能感兴趣的:(Spring,记录)