Bootstrap

【IDEA】maven如何进行文件导入,配置并打包

一,介绍、安装

1、maven介绍

maven是一个Java世界中,构建工具。

核心功能:

(1) 管理依赖
管理文件运行的顺序逻辑依赖关系。对配置文件,进行构建和编译。其也是在调用jdk,来进行编译打包工作。

(2) 打包
通过使用maven,把java代码构造成war包或者jar包
jar包是一种特殊的压缩包,它是把各种.class文件放到了一起。

2、安装Maven

直接使用IDEA软件内置的 maven
在这里插入图片描述

3、如何使用搭建idea

  • 创建项目的时候,不选择java,而是选择Maven的方式来创建项目
  • groupId:表示你所在的公司/组织
  • Aetifactid:表示当前项目的名字
  • Version:表示当前版本号
  • 以上配置用途:当一个程序,要发布到maven的中央仓库上,这三个参数就是这个程序在中央仓库的重要标识
    在这里插入图片描述

4、目录结构

/src/main/java 这个目录用于放java代码
/src/main/resources这个目录用于放一些依赖的资源
/src/test/java 这个目录用来放单元测试代码
/pom.xml 这个是maven项目的核心配置文件,Maven依赖什么,需要什么配置,都放在这个文件里
在这里插入图片描述

5、如何使用maven

右侧有一个 maven 的控制面板,点开Lifecycle:maven是生命周期。
这些罗列的内容,其实都是可以通过 maven来操作的。
最常用的就是 package,他的功能就是打包,也不仅仅是打包,会执行上面的所有操作。
最终的打包结果,一般是一个 jar 或者 war。
在这里插入图片描述

6、maven管理依赖

下面以mysql(5.1.47版本)为例,下载并安装第三方库
第一步,去中央仓库找到mysql的驱动包
https://mvnrepository.com/search?q=mysql 进行查找对应版本的mysql的xml配置代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:直接复制maven标签下的xml配置,粘贴到根目录的pom.xml里面新建的<dependencies></dependencies>标签中。
在这里插入图片描述
注意:
1、<dependencies>这个标签中,可以放多个<dependency>标签,一个项目可以引入多个依赖。在初始创建下,没有这个依赖标签,需要手动创建一个引入后,就会自己去下载依赖了。
2、无论是 maven 还是其他的库,都是通过同样的操作,来引入的,只要把对应的 xml 片段(坐标)拷贝到pom.xml 文件中即可,就可以自动引入。

二、setting.xml 和pom.xml 配置

1、setting.xml

在这里插入图片描述
setting.xml中,配置资源拉取远程仓库,提高下载速度。依次为:阿里云,华为云,官方云(2个)

<mirror>
	<id>nexus-aliyun</id)
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>>	
	<mirrorOf>central</mirrOf>
</mirror>

<mirror>
	<id>huaweicloud</id>
	<mirrorOf>*</mirrorOf>
	<url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>

<mirror>
	<id>central</id>
	<name>Maven Repository Switchboard</name>
	<url>http://repo.maven.org/maven2/</url>
	<mirrorOf>central</mirrorOf>
</mirror>

<mirror>
	<id>central</id>
	<name>Maven Repository Switchboard</name>
	<url>http://repo2.maven.org/maven2/</url>
	<mirrorOf>central</mirrorOf>
</mirror>

2、pom.xml

相关标签及说明:
modelVersion: 指定了 POM 模型版本,默认是 “4.0.0”。

groupId: 项目的组织或团队标识。

artifactId: 项目的唯一标识符,一个组织或团队内是唯一的。

version: 项目的版本号。

packaging: 打包方式,通常是 "jar",部署tomcat,部署改为"war"

name: 项目的展示名。

description: 项目的描述。

properties: 自定义属性。

dependencies: 项目依赖列表,

dependency:每个依赖可以包括 groupId, artifactId, version 等。

dependencyManagement: 用于管理项目依赖的版本,确保子项目之间的依赖版本一致。

build: 构建配置,包括插件配置、资源配置等。

reporting: 报告配置,用于配置如何生成项目报告。

repositories: 仓库配置,用于指定项目构建时使用的远程仓库。

pluginRepositories: 插件仓库配置,用于指定构建插件时使用的远程仓库。

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.example</groupId>
    <artifactId>my-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
 
    <name>My Project</name>
    <description>A simple example project</description>
 
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

;