Maven學習—-Maven安裝與環境變量配置教程

一、Maven簡介

1. 什麼是Maven

​ Maven:是Apache提供的免費開源的項目管理工具。它提供瞭一個項目對象模型(pom.xml)、一個依賴管理系統(根據坐標,幫我們引入依賴)、一套項目生命周期(幫我們方便的進行項目構建)、一組標準集合(Maven工程的目錄結構規范,坐標規范)、和一個插件管理系統(提供瞭進行項目構建的命令)。

2. Maven的作用

  • 項目構建:一個項目開發之後,經歷的編譯、測試、打包、安裝、部署等等一系列的過程,叫項目構建
    • 主要是測試、運維/實施人員使用的
  • 依賴管理:Maven可以幫我們管理jar包,可以輕松的解決依賴的沖突問題
    • 依賴:通常指jar包,不僅僅是jar包
  • 模塊化創建項目

3. 坐標的概念

  • 坐標:被Maven管理的每個項目,都必須有自己的唯一標識,這個唯一標識叫坐標坐
  • 標的組成:由三部分組成
    • groupId:公司名、組織名 域名倒寫。比如:c3p0, com.jd
    • artifactId:項目名、包名。比如:c3p0
    • version:版本號。比如:0.9.1.21.0-SNAPSHOT, 5.2.0-RELEASE

小結

  • 什麼是Maven:是Apache提供的一個開源免費的項目管理工具
  • Maven的作用:
    • 項目構建:編譯、測試、打包、安裝、部署等等一系列的過程,叫項目構建
    • 依賴管理:幫我們管理jar包依賴
    • 模塊化創建項目
  • 坐標的概念:
    • 被Maven管理的每個項目/jar包,其唯一標識叫坐標
    • 由三部分組成:
      • groupId:企業名/組織名 域名倒寫
      • artifactId:包名/項目名
      • version:版本號

二、Maven安裝配置【操作】

1. Maven的倉庫類型

1.本地倉庫:本地緩存jar包的文件夾

  1. 本地倉庫默認在:C:\Users\電腦的用戶名\.m2\repository
  2. 通常會修改配置文件,修改本地倉庫的路徑

2.遠程倉庫(私服):一些企業、組織、社區搭建的倉庫服務

  1. 通常企業裡人自己搭建私服。私服裡的jar包大多數還是來自於中央倉庫
  2. 有些是企業內部自己搭建、自己使用的
  3. 有些是企業搭建面向整個互聯網的,比如:阿裡私服

3.中央倉庫

  1. 是Maven官方團隊維護的倉庫,裡邊有最全的jar包。
  2. 但是沒有授權的jar包,中央倉庫裡沒有,比如:Oracle驅動包
  3. 地址:https://repo1.maven.org/maven2

2. 下載與目錄結構

  • 下載地址:http://maven.apache.org 
  • Maven的目錄結構:
maven
  |--bin   Maven的可執行命令文件夾
  |--boot  Maven的引導程序(類加載器)
  |--conf  配置文件夾
  |--lib   Maven的核心程序代碼

3. Maven安裝配置

3.1 安裝Maven

1.Maven是免安裝的,直接解壓

  1. 註意:解壓路徑裡,不要有中文、空格、特殊字符

2.註意檢查JDK環境變量是否正確

  1. Maven軟件是Java語言編寫的

3.配置Maven環境變量:

  1. 增加MAVEN_HOME=Maven的解壓目錄
  2. 修改Path中添加 %MAVEN_HOME%\bin

在這裡插入圖片描述

在這裡插入圖片描述

1.驗證Maven配置

  1. 打開cmd,輸入命令:mvn -version

在這裡插入圖片描述

3.2 配置Maven倉庫

配置步驟:

  1. 新建一個目錄,例如 :repository,目錄裡不能有中文、空格、特殊字符
  2. 比如我的路徑為:D:\develop_software\maven\repository
  3. 修改Maven的conf\settings.xml配置文件

在這裡插入圖片描述

擴展:

  1. 修改settings.xml裡,設置Maven編譯的版本jdk1.8。在<profiles>裡邊增加:
<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>

在這裡插入圖片描述

小結

倉庫類型

  • 本地倉庫:自己電腦上緩存jar包的文件夾
  • 遠程倉庫(私服):一些企業、社區、組織自己搭建的倉庫服務
  • 中央倉庫:Maven官方團隊維護倉庫服務

maven的安裝:

  1. 解壓。註意:解壓的目錄裡不要有中文、空格、特殊字符
  2. 配置環境變量:
    1. 新增MAVEN_HOME, 值就是maven軟件的解壓目錄
    2. 修改Path,值裡新增%MAVEN_HOME%\bin

配置本地倉庫:

  • 創建repository目錄裡不要有中文、空格 、特殊字符
  • 修改Maven的conf\settings.xml,增加本地倉庫的配置:<localRepository>標簽

三、Maven項目的目錄結構

一個項目要想使用Maven進行管理,那麼這個項目的目錄結構就必須要符合Maven的要求:

maven項目
	|--pom.xml                 項目對象模型文件,一個Maven項目必定有pom.xml文件
	|--src
		|--main                項目的主體程序代碼目錄
		|	|--java            項目的Java程序代碼放在這文件夾裡
		|	|--resources       項目的配置文件放在這裡
		|	|--webapp          項目的web資源放在這裡,html,css,js,jsp,音頻,圖片,視頻等等
		|		|--WEB-INF 
		|		|--其它web資源
		|--test                項目的單元測試代碼目錄
			|--java            項目的單元測試代碼
			|--resources       項目單元測試需要的配置文件

小結

src\main\java:放主體程序代碼的java文件

src\main\resources:放主體程序代碼的配置文件

src\main\webapp:放主體程序代碼的web資源:html、css、js、jsp等等

四、Maven構建項目

1. 項目構建的生命周期

Maven命令執行的規律:

clean:			clean
compile:		compile
test:			compile=>test
package:		compile=>test=>package
install:		compile=>test=>package=>install
人的生命周期:嬰兒=>兒童=>少年=>青年=>中年=>老年

Maven有三套生命周期

  1. 清理生命周期:CleanLifeCycle
    1. 有常用命令:clean
  2. 默認生命周期(構建生命周期):DefaultLifeCycle
    1. 有常用命令:compile->test->package->install->deploy
  3. 站點生命周期:SiteLifeCycle
    1. 有常用命令:site。生成Maven項目的描述信息文檔
  • 如果執行瞭一個目標命令:Maven會把生命周期裡的命令,從第一個一直執行到目標命令為止

小結

常用命令:

  • mvn clean:清理。刪除掉target目錄
  • mvn compile:編譯。把主體程序代碼進行編譯,放到target目錄裡
  • mvn test:測試。編譯並執行單元測試代碼
  • mvn package:打包。Java項目打成jar包,web項目打包war包
  • mvn install:安裝。把程序包安裝到本地倉庫,安裝位置是坐標對應的文件夾

Maven的生命周期

  • 清理生命周期CleanLifeCycle:clean
  • 默認生命周期/構建生命周期DefaultLifeCycle:compile=>test=>package=>install=>deploy
  • 站點生命周期SiteLifeCycle:site
  • 生命周期的作用:隻要執行一個目標命令,Maven會從生命周期裡第一個階段開始,執行到目標命令為止

五、Maven管理依賴和插件

Maven的依賴管理

  • 把Maven配置到idea中
  • 在idea裡創建Maven的java項目
  • 在idea裡創建Maven的web項目
  • Maven項目中,引入依賴的方法
  • Maven的依賴范圍配置,解決jar包沖突

1. 在idea配置Maven(操作)

  • 配置Maven

在這裡插入圖片描述

  • 增加運行的配置項:-DarchetypeCatalog=internal

在這裡插入圖片描述

2. 在idea創建Maven項目

2.1 創建Maven的java項目

1.創建Module,選擇Maven類型,選擇骨架org.apache.maven.archetypes:maven-archetype-quickstart

在這裡插入圖片描述

2.設置項目的坐標

在這裡插入圖片描述

3.再繼續步驟,跟以前的一樣:設置module的名稱和位置

註意:不要和已有的其它module重名或者重位置

在這裡插入圖片描述

4.創建後,如果彈窗Maven projects need to be imported,就選擇 啟動自動導入。

作用是:如果pom.xml文件有變更,Maven會自動讀取,立即生效;否則就要手動導入

在這裡插入圖片描述

5.如果文件夾缺失,就創建補全,然後刷新

在這裡插入圖片描述

2.2 創建Maven的web項目

1.選擇項目的骨架

在這裡插入圖片描述

2.設置項目的坐標

如果上邊Add as module toParent是有配置的,那麼要在右邊全部選擇none

在這裡插入圖片描述

在這裡插入圖片描述

3. 引入依賴

如果項目中需要使用jar包,隻需要把jar包的坐標配置到項目的pom.xml中即可。在pom.xml的<dependencies>標簽裡增加以下內容:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>依賴范圍</scope>
</dependency>

可以在pom.xml裡,輸入dep,會自動補充坐標模板,我們填充坐標值即可

可以使用 alt+insert,會彈出依賴導入的界面,可以從本地倉庫裡搜索依賴

如果不知道依賴的坐標,可以從中央倉庫搜索坐標:https://mvnrepository.com/

4. 依賴范圍

如果項目中引入的jar包過多,可能會出現jar包沖突,我們可能設置jar包不同的依賴范圍來處理jar包沖突。

Maven的依賴范圍有:

  • compile:默認的依賴范圍,全范圍有效。
  • test:單元測試有效。src/test裡有效,src/main裡無效
  • provided:編譯時有效,運行時使用其它地方提供的jar包。
  • runtime:運行時有效,編譯時無效。比如:數據庫驅動包
  • system:引入倉庫之外的本地jar包。少用

在這裡插入圖片描述

實際開發中特殊的jar包

  • Junit:依賴范圍通常設置為test
  • servlet-api, jsp-api:依賴范圍通常設置為provided
  • 數據庫驅動包:依賴范圍可以是默認的,也可以是runtime
  • 其它包,絕大多數都是默認依賴范圍compile

小結

依賴范圍:

  • compile:默認的。編譯時有效,運行時有效,單元測試有效
  • test:單元測試有效(src\main\test)裡有效
    • 單元測試Junit的包
  • provided:編譯時有效,運行時無效(備胎包)
    • servlet-api,jsp-api
  • runtime:編譯時無效,運行時有效
    • 數據庫驅動包
  • system:引用倉庫之外的本地jar包,少用

Maven的插件

  • maven插件可以完成一些特定的功能。例如,集成jdk插件可以方便的修改項目的編譯環境;集成tomcat插件後,無需安裝tomcat服務器就可以運行tomcat進行項目的發佈與測試。
  • 在pom.xml的plugins標簽中,通過plugin標簽引入maven的功能插件。

jdk編譯版本插件

  • <plugins>標簽,放在pom.xml的<build>標簽內部
<!--jdk編譯插件-->
<plugins>
    <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>
</plugins>

tomcat7插件

  • <plugins>標簽,放在pom.xml的<build>標簽內部
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
            <!-- 指定端口 -->
            <port>82</port>
            <!-- 項目路徑 -->
            <path>/</path>
        </configuration>
    </plugin>
</plugins>

六、Maven的私服

搭建私服

  • 瞭解私服的概念
  • 搭建私服

講解

什麼是Maven的私服

  • 公司在自己的局域網內搭建自己的遠程倉庫服務器,稱為私服
  • 私服服務器即是公司內部的 maven 遠程倉庫, 每個員工的電腦上安裝 maven 軟件並且連接私服服務器,員工將自己開發的項目打成 jar 並發佈到私服服務器,其它項目組從私服服務器下載所依賴的構件(jar)。
  • 私服還充當一個代理服務器,當私服上沒有 jar 包會從互聯網中央倉庫自動下載,如下圖 :

在這裡插入圖片描述

搭建Maven私服

1. 下載nexus

  • Nexus 是 Maven 倉庫管理器, 通過 nexus 可以搭建 maven 倉庫,同時 nexus 還提供強大的倉庫管理功能,構件搜索功能等。
  • 下載地址: http://www.sonatype.org/nexus/archived/ ,下載: nexus-2.12.0-01-bundle.zip

在這裡插入圖片描述

2. 安裝nexus

1.解壓nexus-2.12.0-01-bundle.zip。註意:解壓路徑裡不要有中文、空格、特殊字符

2.以管理員方式打開cmd,切換進入解壓目錄的bin文件夾裡,運行命令:nexus.bat install

  1. 把nexus安裝成為Windows的服務

在這裡插入圖片描述

3. 啟動nexus

  • 啟動nexus服務:以管理員方式打開cmd,輸入命令:net start nexus(第一次啟動比較慢)
    • 如果把nexus服務設置為開機自啟動,以後就不需要再手動啟動nexus服務瞭
    • 但是通常是nexus服務器上設置。我們自己電腦上,沒有必要設置開機自啟動
  • 關閉nexus服務:以管理員方式打開cmd,輸入命令:net stop nexus

4. 登錄nexus

打開瀏覽器,輸入地址:http://localhost:8081/nexus

  • 可以打開nexus的conf/nexus.properties文件,修改端口號,重啟nexus服務後生效

在這裡插入圖片描述

登錄“Log in”,輸入帳號和密碼進行登錄(帳號admin,密碼admin123)

在這裡插入圖片描述

nexus的倉庫類型介紹

在這裡插入圖片描述

  • hosted:宿主倉庫, 部署自己的 jar 到這個類型的倉庫,包括 releases 和 snapshot 兩部分, Releases 公司內部發佈版本倉庫、 Snapshots 公司內部測試版本倉庫
  • proxy:代理倉庫, 用於代理遠程的公共倉庫,如 maven 中央倉庫,用戶連接私服,私服自動去中央倉庫下載 jar 包或者插件。
  • group:倉庫組,用來合並多個 hosted/proxy 倉庫,通常我們配置自己的 maven 連接倉庫組。
  • virtual:虛擬倉庫,兼容 Maven1 版本的 jar 或者插件

小結

  • hosted:宿主倉庫。nexus私服本身的倉庫
  • proxy:代理倉庫。私服所代理的倉庫
  • group:倉庫組。針對於使用者,隻要配置一個倉庫組的地址,就可以引用組裡定義的所有子庫
  • virtual:虛擬倉庫

使用私服

  • 把項目發佈到私服
  • 從私服下載jar包

把項目發佈到私服

使用場景

  • 企業中多個團隊協作開發通常會將一些公用的組件、開發模塊等發佈到私服供其它團隊或模塊開發人員使用。
  • 本例子假設多團隊分別開發。某個團隊開發完在common_utils, 將 common_utils發佈到私服供其它團隊使用

配置

第一步:在用戶自己的Maven軟件裡修改conf/settings.xml

  • servers標簽裡,配置私服的帳號和密碼
<server>
    <id>releases</id>
    <username>admin</username>
    <password>admin123</password>
</server>
<server>
    <id>snapshots</id>
    <username>admin</username>
    <password>admin123</password>
</server>

第二步:在用戶需要發佈的私服的項目pom.xml裡,配置私服倉庫的地址。

  • 本公司的自己的 jar 包會上傳到私服的宿主倉庫,根據工程的版本號決定上傳到哪個宿主倉庫
  • 如果版本為 release 則上傳到私服的 release 倉庫,如果版本為snapshot 則上傳到私服的 snapshot 倉庫
  • 把以下內容寫到項目的pom.xml的根標簽裡
<distributionManagement>
    <repository>
        <!-- 註意:id的值,是剛剛在settings.xml中配置的server的id -->
        <id>releases</id>
        <url>http://localhost:8081/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
        <!-- 註意:id的值,是剛剛在settings.xml中配置的server的id -->
        <id>snapshots</id>
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>

測試

1.啟動nexus服務(如果已啟動,就不需要做這一步)

2.在項目裡執行Maven的deploy命令:

  1. 根據本項目pom.xml中version定義決定發佈到哪個倉庫
  2. 如果version定義為xx-snapshot,項目將發佈到 nexus 的 snapshot倉庫
  3. 如果version定義為xx-release,項目將發佈到 nexus的 release 倉庫

從私服下載jar包

使用場景

  • 沒有配置 nexus的時候,如果本地倉庫沒有,就會去中央倉庫下載,下載速度不穩定
  • 通常在企業中會在局域網內部署一臺私服服務器。這樣:
    • 本地項目首先去本地倉庫找 jar;
    • 如果沒有找到則連接私服從私服下載 jar 包;
    • 如果私服沒有 jar 包,私服同時作為代理服務器從中央倉庫下載 jar 包

好處是:

  1. 由私服對公司項目的依賴 jar 包統一管理
  2. 可以提高下載速度, 項目連接私服下載 jar 包的速度,要比項目連接中央倉庫的速度快的多。

配置

第一步:在settings.xmlprofiles標簽下配置:

註:由於settings.xml中沒有repositories標簽,所以要使用profile標簽來配置倉庫

<profile>
    <!--profile 的 id-->
    <id>dev</id>
    <repositories>
        <repository>
            <!--倉庫 id, repositories 可以配置多個倉庫,保證 id 不重復-->
            <id>nexus</id>
            <!--倉庫地址,即 nexus 倉庫組的地址-->
            <url>http://localhost:8081/nexus/content/groups/public/</url>
            <!--是否下載 releases 構件-->
            <releases>
                <enabled>true</enabled>
            </releases>
            <!--是否下載 snapshots 構件-->
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <!-- 插件倉庫, maven 的運行依賴插件,也需要從私服下載插件 -->
        <pluginRepository>
            <!-- 插件倉庫的 id 不允許重復,如果重復後邊配置會覆蓋前邊 -->
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://localhost:8081/nexus/content/groups/public/</url>
        </pluginRepository>
    </pluginRepositories>
</profile>

第二步:激活profile定義的倉庫

激活後,配置的倉庫才會生效

<activeProfiles>
	<activeProfile>dev</activeProfile>
</activeProfiles>

測試 創建Maven應用testdownload,配置依賴

<dependency>
    <groupId>com.baidu</groupId>
    <artifactId>commons-utils</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

編譯項目,查看日志會出現:

在這裡插入圖片描述

查看本地倉庫裡,會有從私服下載的jar包

小結

把項目發佈到私服:

  1. 在Maven的settings.xml裡,配置倉庫的帳號和密碼
  2. 在Maven項目的pom.xml裡,配置倉庫的地址
  3. 執行Maven命令:mvn deploy

從私服裡下載jar:

  1. 在settings.xml裡配置倉庫地址
  2. 在settings.xml裡激活倉庫的配置
  3. 在Maven項目裡,配置依賴
    1. 如果這個依賴,在本地倉庫裡沒有,Maven就會從私服裡下載到本地倉庫,再引入到Maven項目裡

上傳jar到本地倉庫和私服

目標

  • 把第三方jar打包到本地倉庫
  • 把jar打包發佈到私服

把第三方jar打包到本地倉庫

  • 如果有一個jar不在本地倉庫、不在私服、不在中央倉庫。我們可以把jar安裝到本地倉庫中,方便後續使用
  • cmd命令示例:

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

在這裡插入圖片描述

  • 查看本地倉庫,驗證是否安裝成功

在這裡插入圖片描述

把第三方jar打包發佈到私服

  • 第一步:在settings.xml中配置私服的server信息
<server>
    <id>thirdparty</id>
    <username>admin</username>
    <password>admin123</password>
</server>
  • 第二步:執行命令

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

在這裡插入圖片描述

  • 第三步:查看私服的第三方倉庫,驗證是否發佈成功

在這裡插入圖片描述

參數說明

  • DgroupIdDartifactId構成瞭 jar 包的坐標,項目就是依靠這兩個屬性定位。可以自己起名
  • Dfile 表示需要上傳的 jar 包的位置。
  • Durl 私服上倉庫的位置,打開 nexus——>repositories 菜單,可以看到該路徑。
  • DrepositoryId 服務器的表示 id,在 nexus 的 configuration 可以看到。
  • Dversion 表示版本信息。

​ 上傳成功後,在 nexus 界面點擊 3rd party 倉庫可以看到這包。

七、Lombok

1. Lombok介紹與配置

  • 什麼是Lombok
  • Lombok的作用
  • Lombok的配置

什麼是Lombok

  • Lombok是一個Java庫,能自動插入編輯器並構建工具,簡化Java開發。
  • 官網: https://www.projectlombok.org/

Lombok的作用

通過添加註解的方式,幫我們生成一些方法,提高開發人員的開發效率。

例如:

  • 開發中經常需要寫的javabean,要添加相應的getter/setter,也許還要去寫構造器、equals等方法
  • 當屬性多時,會出現大量的getter/setter方法,這些顯得很冗長也沒有太多技術含量
  • 使用Lombok,可以幫我們生成這些方法,我們就不用自己編寫瞭

Lombok的配置

  • 添加maven依賴
<dependency>
	<groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
	<version>1.18.8</version>
	<scope>provided</scope>
</dependency>

安裝插件

  • 註意:Lombok插件暫不支持idea2020
  • 使用Lombok還需要插件的配合。
  • 打開idea的設置,點擊Plugins,點擊Browse repositories,在彈出的窗口中搜索lombok,然後安裝即可

在這裡插入圖片描述

  • 解決編譯時出錯問題

​ 編譯時出錯,可能是沒有enable註解處理器。Annotation Processors > Enable annotation processing。設置完成之後程序正常運行。

在這裡插入圖片描述

2. Lombok的常用註解

目標

@Data

@Getter/@Setter

@ToString

@NoArgsConstructor, @AllArgsConstructor

@Data

  • @Data註解在類上,會為類的所有屬性自動生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法。
@Data
public class User implements Serializable{
    private Integer id;
    private String username;
    private String password;
    private String address;
    private String nickname;
    private String gender;
    private String email;
    private String status;
}

@Getter/@Setter

  • 如果覺得@Data不夠精細,可以使用@Getter/@Setter註解
  • 此註解用在屬性上,可以為相應的屬性自動生成Getter/Setter方法.
public class User implements Serializable{
    @Setter
    @Getter
    private Integer id;
    private String username;
    private String password;
    private String address;
    private String nickname;
    private String gender;
    private String email;
    private String status;
}

@ToString

  • 類上使用@ToString註解,Lombok會生成一個toString()方法
  • 生成的toString方法會輸出類名、所有屬性(會按照屬性定義順序),用逗號來分割。
  • 通過exclude屬性指定忽略字段不輸出,
@ToString(exclude = {"id"}) 
public class User implements Serializable{
    private Integer id;
    private String username;
    private String password;
    private String address;
    private String nickname;
    private String gender;
    private String email;
    private String status;
}

@xxxConstructor

@NoArgsConstructor: 無參構造器

@NoArgsConstructor
public class User implements Serializable{
    private Integer id;
    private String username;
    private String password;
    private String address;
    private String nickname;
    private String gender;
    private String email;
    private String status;
}
  • @AllArgsConstructor: 全參構造器
@AllArgsConstructor
public class User implements Serializable{
    private Integer id;
    private String username;
    private String password;
    private String address;
    private String nickname;
    private String gender;
    private String email;
    private String status;
}

附:添加依賴出錯怎麼辦

現象:

  • 在pom.xml裡添加依賴坐標後,報紅,引入依賴失敗

原因:

  • 可能有多方面因素導致,最常見的原因是:
    • 網絡不穩定,導致從中央倉庫中下載依賴時失敗
    • 本地倉庫中有大量的*.lastUpdated文件,是下載依賴出錯後遺留的不完整數據

解決:

第一步:配置阿裡雲的倉庫鏡像

打開Maven軟件裡conf/settings.xml

<mirrors>標簽中添加如下內容:

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

第二步:刪除本地倉庫裡的緩存文件

  • .lastUpdated結尾的文件,是下載依賴失敗後遺留的文件,需要清除掉

1.在本地倉庫文件夾裡搜索*.lastUpdated

在這裡插入圖片描述

2.把搜索到的所有文件全部刪除

在這裡插入圖片描述

第三步:重新添加依賴

  • pom.xml中,刪除原有的所有依賴
  • 重新添加依賴進去。
  • Maven會自動重新導入依賴,如果本地倉庫中沒有,就會自動從阿裡雲倉庫鏡像下載依賴

總結

本篇文章就到這裡瞭,希望可以幫到你,也希望您能多多關註WalkonNet的更多內容!

推薦閱讀: