当前位置: 首页 > news >正文

Maven下载以及项目创建(笔记)

前置准备

  一、JDK的下载和安装

Java的产品叫JDK

下载地址:Oracle | Cloud Applications and Cloud Platform

Products - Hardware and Software - Java-右上角Download Java - 选择最新的一个LTS版本下载 - window x64 Installer版本下载

(暂时下载的是21版https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe)

安装路径不要有中文和空格

java.exe:执行工具;javac.exe:编译工具


二、环境变量的配置

1.类名要和文件名一致

2.要在文件路径下编译执行

编译:javac 文件名.java

        编译完会出现一个.class类文件

执行:java 类名(不要加.class)

        输出结果

 3.Path和JAVA_HOME环境变量配置

目的:配置程序的路径,以便在命令行窗口的任意目录启动程序

环境变量位置:我的电脑->属性->高级系统设置->高级->环境变量

安装JDK时自动配置javac和java的路径到环境变量的系统变量中去:C:\Program Files\Common Files\Oracle\Java\javapath(老版本则需要手动配置)

配置Path环境变量:手动配置可删除上述路径,在用户变量Path中添加:D:\develop\Java\jdk-21\bin

配置JAVA_HOME环境变量:告诉操作系统JDK安装在哪个位置

用户变量新建JAVA_HOME,填写路径:D:\develop\Java\jdk-21

 * Path可以写成:%JAVA_HOME%\bin


三、IntelliJ IDEA开发工具概述、安装

下载地址:IntelliJ IDEA – the Leading Java and Kotlin IDE (jetbrains.com)

Download->选择版本Ultimate企业版下载

一、maven下载

①下载

地址:Welcome to Apache Maven – Maven 

 

②配置maven本地仓库

新建一个仓库文件夹,当前仓库的路径为D:\software\apache-maven-3.9.9\mvn_repo

 修改maven配置文件(修改conf文件夹里的settings.xml),将路径换成本地仓库的路径。

③配置阿里云私服

这样下载速度较快。

依旧是修改conf文件夹里的settings.xml

将以下代码删除:

替换成阿里云的:

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
</mirror>

④配置环境变量

MAVEN_HOME: 

 Path新建一条:%MAVEN_HOME%\bin

二、创建Maven项目

1.全局配置

修改路径,找到自己下载maven的地方: 

 接着runner也要修改:

 compiler也要配置:

2.创建空项目

配置项目jdk版本:

空项目结构是这样子的:

jdk是什么版本,这俩就先选什么版本:

 3.创建Maven项目

1.创建模块,右键项目,选择新建模块

 

新建好,多了maven项目,结构如下:

main:存放核心代码;main-java:存放java文件;main-resources:存放核心文件。

test-java:存放测试相关的代码。

 为test文件夹下创建resources文件夹:

 

 这是完整maven项目结构:

4.编写入门程序helloworld

连包带类一起创建:org.example.Helloworld

 然后编写helloworld:

编译完会自动出现一个target文件夹,classes里面存放编译后的字节码文件以及打包后的jar包文件:

三、maven坐标 

资源(jar)的唯一标识,通过坐标唯一定位资源位置

用坐标定义项目引入项目中需要的依赖

<groupId>org.example</groupId>  定义当前项目隶属组织(一般是域名反写)
<artifactId>maven-project01</artifactId>  项目名称
<version>1.0-SNAPSHOT</version>  当前版本号
(SNAPSHOT代表开发中,即快照版本;RELEASE:当前停止更新,可用于发行的版本)

四、导入maven项目

要先将要导入的maven文件复制到当前project项目文件夹下。

方法一:File->Project Structure->Modules->Import Module->选择maven项目的pom.xml

 

方法二:从maven面版导入,同样是选择pom.xml文件

五、依赖管理

1.依赖配置

引入需要用到的jar包

不知道依赖坐标信息可以搜:https://mvnrepository.com/

搜自己要的依赖,然后选择一个版本,下方就可以之间复制坐标信息。 

刚写入是红色的,因为还没下载,点击右上角的maven图标刷新下载

<!--配置依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.4</version>
        </dependency>
    </dependencies>

 这样maven就会出现一个依赖文件夹:

maven有依赖传递,如果不需要里面其中传递下来的哪一个依赖,可以排除依赖。

<!--配置依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.4</version>

            <!--排除依赖-->
            <exclusions>
                <exclusion>
                    <groupId>io.micrometer</groupId>
                    <artifactId>micrometer-observation</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

这样最后一个依赖就没有了。 

 

2.生命周期

1.三套生命周期: 

clear:清理工作。(把target目录删除)

default:核心工作,比如:编译、测试、打包、安装、部署等。

site:生成报告,发布站点等。

2.按顺序运行以下五个生命周期阶段:

在同一套生命周期中,当运行后面阶段时,前面阶段都会运行。 

install会将项目打成jar包放在maven本地仓库下,按照你自己设置的groupId作为路径寻找存放的位置。本地仓库在maven文件夹下。

maven的底层是插件执行框架。每个生命周期阶段执行都是插件(Plugins里存放插件)在执行。 

3.单元测试 

阶段:单元测试->集成测试->系统测试->验收测试

要进行单元测试需要在pom.xml引入JUit依赖

控制JUit依赖作用范围可以加上<scope>text</scope>。这样main目录下就不能使用@test注解,只能在test文件夹下测试。scope值默认是compile,在哪都能使用@test注解。

相关文章:

  • 开发一款自然语言转sql的网页版数据库管理工具,不需要使用网上那些付费版,自己搭建一套数据库管理工具,免费开源
  • Unix 域套接字(本地套接字)
  • YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程
  • 基于Spring Boot的产业园区智慧公寓管理系统的设计与实现(LW+源码+讲解)
  • 一区思路!
  • Java-模块二-1
  • Java 对 PDF 文件添加水印
  • 利用 MATLAB/Simulink 建立完整的控制系统模型,并进行阶跃响应和负载扰动响应仿真
  • 算法与数据结构(和为K的子数组)
  • 深入解析 .NET 中的依赖项加载机制:原理、实现与最佳实践
  • 一人系统 之 为什么要做一人系统?
  • 认知突破、执行闭环与生态创新:DeepSeek、Manus与Coze的AI应用
  • 爬虫案例-爬取某站视频
  • Lua 的 Neovim 常用配置
  • Vue3 组件通信 $refs $parent
  • 【React】使用Swiper报错`Swiper` needs at least one child
  • 前端会话控制技术:cookie/session/token
  • 特斯拉Optimus 2.0:多模态感知与强化学习引领家庭场景变革
  • 【递归、搜索和回溯算法】专题三 :穷举VS暴搜VS深搜VS回溯VS剪枝
  • WebGL图形编程实战【2】:动态着色 × 纹理贴图技术揭秘
  • 乌拉圭前总统何塞·穆希卡去世
  • 国务院关税税则委员会公布公告调整对原产于美国的进口商品加征关税措施
  • 夜读丨取稿费的乐趣
  • 权益类基金发行回暖,这些老将挂帅新基,谁值得买?
  • 人民币对美元即期汇率盘中创半年新高,离岸市场升破7.2
  • 《新时代的中国国家安全》白皮书(全文)