国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于IDEA 進(jìn)行Maven依賴管理

這篇具有很好參考價(jià)值的文章主要介紹了基于IDEA 進(jìn)行Maven依賴管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 依賴管理概念

Maven 依賴管理是 Maven 軟件中最重要的功能之一。Maven 的依賴管理能夠幫助開發(fā)人員自動(dòng)解決軟件包依賴問題,使得開發(fā)人員能夠輕松地將其他開發(fā)人員開發(fā)的模塊或第三方框架集成到自己的應(yīng)用程序或模塊中,避免出現(xiàn)版本沖突和依賴缺失等問題。

我們通過定義 POM 文件,Maven 能夠自動(dòng)解析項(xiàng)目的依賴關(guān)系,并通過 Maven 倉庫自動(dòng)下載和管理依賴,從而避免了手動(dòng)下載和管理依賴的繁瑣工作和可能引發(fā)的版本沖突問題。

總之,Maven 的依賴管理是 Maven 軟件的一個(gè)核心功能之一,使得軟件包依賴的管理和使用更加智能和方便,簡化了開發(fā)過程中的工作,并提高了軟件質(zhì)量和可維護(hù)性。

2. Maven工程核心信息配置和解讀(GAVP)

位置:pom.xml

<!-- 模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者組織的唯一標(biāo)志,并且配置時(shí)生成的路徑也是由此生成, 如com.companyname.project-group,maven會(huì)將該項(xiàng)目打成的jar包放本地路徑:/com/companyname/project-group -->
<groupId>com.companyname.project-group</groupId>
<!-- 項(xiàng)目的唯一ID,一個(gè)groupId下面可能多個(gè)項(xiàng)目,就是靠artifactId來區(qū)分的 -->
<artifactId>project</artifactId>
<!-- 版本號(hào) -->
<version>1.0.0</version>

<!--打包方式
    默認(rèn):jar
    jar指的是普通的java項(xiàng)目打包方式! 項(xiàng)目打成jar包!
    war指的是web項(xiàng)目打包方式!項(xiàng)目打成war包!
    pom不會(huì)講項(xiàng)目打包!這個(gè)項(xiàng)目作為父工程,被其他工程聚合或者繼承!后面會(huì)講解兩個(gè)概念
-->
<packaging>jar/pom/war</packaging>

3. Maven工程依賴管理配置

位置:pom.xml

依賴管理和依賴添加

<!-- 
   通過編寫依賴jar包的gav必要屬性,引入第三方依賴!
   scope屬性是可選的,可以指定依賴生效范圍!
   依賴信息查詢方式:
      1. maven倉庫信息官網(wǎng) https://mvnrepository.com/
      2. mavensearch插件搜索
 -->
<dependencies>
    <!-- 引入具體的依賴包 -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
        <!-- 依賴范圍 -->
        <scope>runtime</scope>
    </dependency>

</dependencies>

依賴版本統(tǒng)一提取和維護(hù)

<!--聲明版本-->
<properties>
  <!--命名隨便,內(nèi)部制定版本號(hào)即可!-->
  <junit.version>4.12</junit.version>
  <!-- 也可以通過 maven規(guī)定的固定的key,配置maven的參數(shù)!如下配置編碼格式!-->
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <!--引用properties聲明版本 -->
    <version>${junit.version}</version>
  </dependency>
</dependencies>

4. 依賴范圍

通過設(shè)置坐標(biāo)的依賴范圍(scope),可以設(shè)置 對(duì)應(yīng)jar包的作用范圍:編譯環(huán)境、測試環(huán)境、運(yùn)行環(huán)境

依賴范圍 描述
compile 編譯依賴范圍,scope 元素的缺省值。使用此依賴范圍的 Maven 依賴,對(duì)于三種 classpath 均有效,即該 Maven 依賴在上述三種 classpath 均會(huì)被引入。例如,log4j 在編譯、測試、運(yùn)行過程都是必須的。
test 測試依賴范圍。使用此依賴范圍的 Maven 依賴,只對(duì)測試 classpath 有效。例如,Junit 依賴只有在測試階段才需要。
provided 已提供依賴范圍。使用此依賴范圍的 Maven 依賴,只對(duì)編譯 classpath 和測試 classpath 有效。例如,servlet-api 依賴對(duì)于編譯、測試階段而言是需要的,但是運(yùn)行階段,由于外部容器已經(jīng)提供,故不需要 Maven 重復(fù)引入該依賴。
runtime 運(yùn)行時(shí)依賴范圍。使用此依賴范圍的 Maven 依賴,只對(duì)測試 classpath、運(yùn)行 classpath 有效。例如,JDBC 驅(qū)動(dòng)實(shí)現(xiàn)依賴,其在編譯時(shí)只需 JDK 提供的 JDBC 接口即可,只有測試、運(yùn)行階段才需要實(shí)現(xiàn)了 JDBC 接口的驅(qū)動(dòng)。
system 系統(tǒng)依賴范圍,其效果與 provided 的依賴范圍一致。其用于添加非 Maven 倉庫的本地依賴,通過依賴元素 dependency 中的 systemPath 元素指定本地依賴的路徑。鑒于使用其會(huì)導(dǎo)致項(xiàng)目的可移植性降低,一般不推薦使用。
import 導(dǎo)入依賴范圍,該依賴范圍只能與 dependencyManagement 元素配合使用,其功能是將目標(biāo) pom.xml 文件中 dependencyManagement 的配置導(dǎo)入合并到當(dāng)前 pom.xml 的 dependencyManagement 中。

5. Maven工程依賴下載失敗錯(cuò)誤解決(重點(diǎn))

在使用 Maven 構(gòu)建項(xiàng)目時(shí),可能會(huì)發(fā)生依賴項(xiàng)下載錯(cuò)誤的情況,主要原因有以下幾種:

  1. 下載依賴時(shí)出現(xiàn)網(wǎng)絡(luò)故障或倉庫服務(wù)器宕機(jī)等原因,導(dǎo)致無法連接至 Maven 倉庫,從而無法下載依賴。
  2. 依賴項(xiàng)的版本號(hào)或配置文件中的版本號(hào)錯(cuò)誤,或者依賴項(xiàng)沒有正確定義,導(dǎo)致 Maven 下載的依賴項(xiàng)與實(shí)際需要的不一致,從而引發(fā)錯(cuò)誤。
  3. 本地 Maven 倉庫或緩存被污染或損壞,導(dǎo)致 Maven 無法正確地使用現(xiàn)有的依賴項(xiàng)。

解決方案:

  1. 檢查網(wǎng)絡(luò)連接和 Maven 倉庫服務(wù)器狀態(tài)。

  2. 確保依賴項(xiàng)的版本號(hào)與項(xiàng)目對(duì)應(yīng)的版本號(hào)匹配,并檢查 POM 文件中的依賴項(xiàng)是否正確。

  3. 清除本地 Maven 倉庫緩存(lastUpdated 文件),因?yàn)橹灰嬖趌astupdated緩存文件,刷新也不會(huì)重新下載。本地倉庫中,根據(jù)依賴的gav屬性依次向下查找文件夾,最終刪除內(nèi)部的文件,刷新重新下載即可!

    例如: pom.xml依賴

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.2.8</version>
    </dependency>
    

    文件:
    基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

  4. 或者可以將清除lastUpdated文件的操作寫在一個(gè)腳本文件中,手動(dòng)創(chuàng)建文件"clearLastUpdated.bat",名字任意,但是后綴必須是bat,將以下內(nèi)容復(fù)制到文件中

主要修改 3 4 行

cls 
@ECHO OFF 
SET CLEAR_PATH=D: 
SET CLEAR_DIR=D:\maven-repository(本地倉庫路徑)
color 0a 
TITLE ClearLastUpdated For Windows 
GOTO MENU 
:MENU 
CLS
ECHO. 
ECHO. * * * *  ClearLastUpdated For Windows  * * * * 
ECHO. * * 
ECHO. * 1 清理*.lastUpdated * 
ECHO. * * 
ECHO. * 2 查看*.lastUpdated * 
ECHO. * * 
ECHO. * 3 退 出 * 
ECHO. * * 
ECHO. * * * * * * * * * * * * * * * * * * * * * * * * 
ECHO. 
ECHO.請(qǐng)輸入選擇項(xiàng)目的序號(hào): 
set /p ID= 
IF "%id%"=="1" GOTO cmd1 
IF "%id%"=="2" GOTO cmd2 
IF "%id%"=="3" EXIT 
PAUSE 
:cmd1 
ECHO. 開始清理
%CLEAR_PATH%
cd %CLEAR_DIR%
for /r %%i in (*.lastUpdated) do del %%i
ECHO.OK 
PAUSE 
GOTO MENU 
:cmd2 
ECHO. 查看*.lastUpdated文件
%CLEAR_PATH%
cd %CLEAR_DIR%
for /r %%i in (*.lastUpdated) do echo %%i
ECHO.OK 
PAUSE 
GOTO MENU 

基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

6. Maven工程Build構(gòu)建配置

項(xiàng)目構(gòu)建是指將源代碼、依賴庫和資源文件等轉(zhuǎn)換成可執(zhí)行或可部署的應(yīng)用程序的過程,在這個(gè)過程中包括編譯源代碼、鏈接依賴庫、打包和部署等多個(gè)步驟。

默認(rèn)情況下,構(gòu)建不需要額外配置,都有對(duì)應(yīng)的缺省配置。當(dāng)然了,我們也可以在pom.xml定制一些配置,來修改默認(rèn)構(gòu)建的行為和產(chǎn)物!

例如:

  1. 指定構(gòu)建打包文件的名稱,非默認(rèn)名稱
  2. 制定構(gòu)建打包時(shí),指定包含文件格式和排除文件
  3. 打包插件版本過低,配置更高版本插件

構(gòu)建配置是在pom.xml / build標(biāo)簽中指定!

指定打包命名

<!-- 默認(rèn)的打包名稱:artifactid+verson.打包方式 -->
<build>
  <finalName>定義打包名稱</finalName>
</build>  

基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

指定打包文件

在配置文件 resources 中創(chuàng)建一個(gè) test.xml
基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

創(chuàng)建一些內(nèi)容
基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

進(jìn)行打包,可以看到 test.xml 也進(jìn)行了打包,因?yàn)?java 下面寫的類,下面 resources 配置文件,也會(huì)打包
基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

但是如果將 test.xml 文件放入到 java 下,而不是 resources 下(java 下面只允許存在 java 類,resources 文件下只允許存在 配置文件)

基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java
打包后,可以看到,還是只有 User 類,并沒有 student.xml 文件被打包
基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

如果在java文件夾中添加java類,會(huì)自動(dòng)打包編譯到classes文件夾下!

但是在java文件夾中添加xml文件,默認(rèn)不會(huì)被打包!

默認(rèn)情況下,按照maven工程結(jié)構(gòu)放置的文件會(huì)默認(rèn)被編譯和打包!

除此之外、我們可以使用resources標(biāo)簽,指定要打包資源的文件夾要把哪些靜態(tài)資源打包到 classes根目錄下!

應(yīng)用場景:mybatis中有時(shí)會(huì)將用于編寫SQL語句的映射文件和mapper接口都寫在src/main/java下的某個(gè)包中,此時(shí)映射文件就不會(huì)被打包,如何解決

<build>
    <!--設(shè)置要打包的資源位置-->
    <resources>
        <resource>
            <!--設(shè)置資源所在目錄-->
            <directory>src/main/java</directory>
            <includes>
                <!--設(shè)置包含的資源類型,**/* 表示任意包下面的任意 xml 文件-->
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

基于IDEA 進(jìn)行Maven依賴管理,JAVA進(jìn)階之路,intellij-idea,maven,java

配置依賴插件

dependencies標(biāo)簽下引入開發(fā)需要的jar包!我們可以在build/plugins/plugin標(biāo)簽引入插件!

常用的插件:修改jdk版本、tomcat插件、mybatis分頁插件、mybatis逆向工程插件等等!

<build>
  <plugins>
      <!-- java編譯插件,配jdk的編譯版本 -->
      <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>
      <!-- tomcat插件 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
         <version>2.2</version>
          <configuration>
          <port>8090</port>
          <path>/</path>
          <uriEncoding>UTF-8</uriEncoding>
          <server>tomcat7</server>
        </configuration>
      </plugin>
    </plugins>
</build>

Tomecat 添加到 maven 插件中教程,無須在單獨(dú)配置 Tomcat 了文章來源地址http://www.zghlxwxcb.cn/news/detail-818794.html

到了這里,關(guān)于基于IDEA 進(jìn)行Maven依賴管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Maven《四》-- 基于Idea進(jìn)行Maven工程構(gòu)建

    Maven《四》-- 基于Idea進(jìn)行Maven工程構(gòu)建

    目錄 ??4.1 構(gòu)建概念和構(gòu)建過程 ??4.2 命令方式項(xiàng)目構(gòu)建 1. ??編譯:mvn compile 2. ??清理:mvn clean 3. ??打包:mvn package 4. ??安裝:mvn install ??4.3 可視化方式項(xiàng)目構(gòu)建? ??4.4 構(gòu)建插件、命令、生命周期命令之間關(guān)系 1. ??構(gòu)建生命周期 2.??構(gòu)建周期作用:會(huì)簡化構(gòu)建過程

    2024年01月23日
    瀏覽(47)
  • java-IDEA MAVEN查看依賴樹,解決jar包重復(fù)和沖突

    java-IDEA MAVEN查看依賴樹,解決jar包重復(fù)和沖突

    ? ?如果這里面的依賴關(guān)系有紅線,就說明有包沖突,一般都是版本不一致,可以在idea里下一個(gè)插件 Maven Helper, 點(diǎn)擊install并重啟IDEA ?打開pom.xml文件,在下方會(huì)出現(xiàn)Dependency Analyzer,選擇它會(huì)出現(xiàn)重復(fù)依賴列表,選擇對(duì)應(yīng)的依賴,右鍵紅色部分選擇Exclude,然后選擇上面的reimport就可

    2024年02月13日
    瀏覽(20)
  • 基于 IDEA 進(jìn)行 Maven 工程構(gòu)建

    基于 IDEA 進(jìn)行 Maven 工程構(gòu)建

    ????????項(xiàng)目構(gòu)建是指將源代碼、依賴庫和資源文件等轉(zhuǎn)換成可執(zhí)行或可部署的應(yīng)用程序的過程,在這個(gè)過程中包括編譯源代碼、鏈接依賴庫、打包和部署等多個(gè)步驟。 ????????項(xiàng)目構(gòu)建是軟件開發(fā)過程中至關(guān)重要的一部分,它能夠大大提高軟件開發(fā)效率,使得開發(fā)人

    2024年01月19日
    瀏覽(21)
  • 【Java架構(gòu)-包管理工具】-Maven進(jìn)階(二)

    【Java架構(gòu)-包管理工具】-Maven進(jìn)階(二)

    Maven作為Java后端使用頻率非常高的一款依賴管理工具,在此咱們由淺入深,分三篇文章(Maven基礎(chǔ)、Maven進(jìn)階、私服搭建)來深入學(xué)習(xí)Maven,此篇為開篇主要介紹Maven進(jìn)階知識(shí),包含坐標(biāo)、依賴、倉庫、生命周期、插件、繼承 ??坐標(biāo)是構(gòu)件的唯一標(biāo)識(shí),Maven 坐標(biāo)的元素包括

    2024年02月11日
    瀏覽(20)
  • JAVA-MAVEN初學(xué)者教程(配置、pom.xml、依賴管理等)

    JAVA-MAVEN初學(xué)者教程(配置、pom.xml、依賴管理等)

    Java的包管理工具有Maven、Gradle等,其中Maven是一款服務(wù)于Java平臺(tái)的自動(dòng)化構(gòu)建工具,把整個(gè)過程抽象成一個(gè)項(xiàng)目對(duì)象模型(Project Object Model,POM),它不僅可以用作包管理,還有許多的 插件 ,可以支持整個(gè)項(xiàng)目 的開發(fā)、打包、測試及部署 等一系列行為。Gradle是一個(gè)基于Apa

    2024年02月09日
    瀏覽(44)
  • Android進(jìn)階之路 - 通過Gradle 窗口、插件、命令 查看項(xiàng)目依賴

    Android進(jìn)階之路 - 通過Gradle 窗口、插件、命令 查看項(xiàng)目依賴

    最近在處理一個(gè)依賴沖突的問題,雖然根據(jù)錯(cuò)誤提示已經(jīng)解決了問題;但還是很有必要了解一下 如何查看項(xiàng)目中各模塊的依賴組件 ,以便于快速解決組件依賴的問題,故特記錄于此 在實(shí)戰(zhàn)中我們一般可以通過 Gradle窗口 、 Gradle插件 、以及 Terminal 執(zhí)行Gradle相關(guān)命令 獲取項(xiàng)目

    2024年02月04日
    瀏覽(26)
  • idea查找maven所有依賴

    idea查找maven所有依賴

    缺點(diǎn)是只有依賴,沒有版本 settings–plugins–搜索maven helper并安裝 安裝后打開pom.xml文件會(huì)有依賴解析 勾選conflict就是有沖突的依賴 選中all dependencies as list則所有依賴一列展示 選中all dependencies as tree 則所有依賴樹形展示 缺點(diǎn),如果是多模塊項(xiàng)目,則必須一個(gè)一個(gè)pom.xml文件的

    2024年02月11日
    瀏覽(21)
  • idea 一直卡在maven正在解析maven依賴

    idea 一直卡在maven正在解析maven依賴

    修改maven Importing的jvm參數(shù)

    2024年02月04日
    瀏覽(93)
  • IDEA 查看 Maven 依賴關(guān)系圖

    IDEA 查看 Maven 依賴關(guān)系圖

    Maven提供了 mvn dependency:tree 來查看依賴關(guān)系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有類似的功能,這篇文章簡單說明一下如何在IDEA中查看依賴關(guān)系。 點(diǎn)擊 Maven Project 視圖,如果此視圖沒有打開,請(qǐng)使用View菜單將其打開。 選中相應(yīng)的項(xiàng)目,在右鍵菜單中選擇

    2024年02月16日
    瀏覽(17)
  • IDEA解析Maven依賴過慢

    IDEA解析Maven依賴過慢

    查看Maven配置文件,是否更改為阿里源 maven安裝目錄/conf/setting.xml 搜索mirrors并在其中添加 其次更改Idea Maven配置 -Xms參數(shù)用于設(shè)置JVM啟動(dòng)時(shí)的初始內(nèi)存分配大小,-Xmx參數(shù)用于設(shè)置JVM可以使用的最大內(nèi)存大小。 在Maven中使用這個(gè)命令可以為Maven構(gòu)建過程分配更多的內(nèi)存,從而提高

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包