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

基于 IDEA 進行 Maven 依賴管理

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

一、依賴管理概念

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

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

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

二、核心配置文件解讀

? ? ? ? 一個基本的 pom.xml 內(nèi)容如下所示:

<!-- pom 的模型版本 -->
<modelVersion>4.0.0</modelVersion>

<!-- 公司或者組織的唯一標(biāo)志,并且配置時生成的路徑也是由此生成, 如 com.companyname.project-group,maven 會將該項目打成的 jar 包放本地路徑:/com/companyname/project-group -->
<groupId>com.companyname.project-group</groupId>

<!-- 項目的唯一ID,一個 groupId 下面可能多個項目,就是靠 artifactId 來區(qū)分的 -->
<artifactId>project</artifactId>

<!-- 版本號 -->
<version>1.0.0</version>

<!--打包方式
    默認:jar
    jar 指的是普通的 java 項目打包方式! 項目打成 jar 包!
    war 指的是 web 項目打包方式!項目打成 war 包!
    pom 不會將項目打包!這個項目作為父工程,被其他工程聚合或者繼承!
-->
<packaging>jar/pom/war</packaging>

三、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>

? ? ? ? 也可以在 pom.xml 里面進行版本的統(tǒng)一提取和維護

<!--聲明版本-->
<properties>
  <!-- 命名隨便,內(nèi)部制定版本號即可!-->
  <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>

四、依賴范圍

????????通過設(shè)置坐標(biāo)的依賴范圍(scope),可以設(shè)置對應(yīng) jar 包的作用范圍:編譯環(huán)境(main 目錄下)、測試環(huán)境(test 目錄下)、運行環(huán)境(jar 或者 war 中)。

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

五、Maven 依賴下載失敗及解決方案

5.1?依賴下載失敗

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

????????1、下載依賴時出現(xiàn)網(wǎng)絡(luò)故障或倉庫服務(wù)器宕機等原因,導(dǎo)致無法連接至 Maven 倉庫,從而無法下載依賴。

????????2、依賴項的版本號或配置文件中的版本號錯誤,或者依賴項沒有正確定義,導(dǎo)致 Maven 下載的依賴項與實際需要的不一致,從而引發(fā)錯誤。

????????3、本地 Maven 倉庫或緩存被污染或損壞,導(dǎo)致 Maven 無法正確地使用現(xiàn)有的依賴項。

5.2?解決方案

5.2.1 常規(guī)解決

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

????????2、確保依賴項的版本號與項目對應(yīng)的版本號匹配,并檢查 POM 文件中的依賴項是否正確。

????????3、清除本地 Maven 倉庫緩存(.lastUpdated 文件),因為只要存在 lastupdated 緩存文件,刷新也不會重新下載。本地倉庫中,根據(jù)依賴的 gav 屬性依次向下查找文件夾,最終刪除內(nèi)部的文件,刷新重新下載即可!

5.2.2 腳本解決

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

cls 
@ECHO OFF 
SET CLEAR_PATH=E: 
SET CLEAR_DIR=E:\repo(實體庫位置,這塊只做注釋,運行時需要刪除掉)
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.請輸入選擇項目的序號: 
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 

????????輸入對應(yīng)的編號即可,如下圖:

基于 IDEA 進行 Maven 依賴管理,maven 專欄,maven

六、Maven 工程 build 構(gòu)建配置

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

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

? ? ? ? 1、指定構(gòu)建打包文件的名稱,非默認名稱

? ? ? ? 2、制定構(gòu)建打包時,指定包含文件格式和排除文件

? ? ? ? 3、打包插件版本過低,配置更高版本插件

6.1 構(gòu)建非默認名稱

? ? ? ? 在 pom.xml 中添加如下的配置就可以更改打包文件的名稱,如下:

<!-- 默認的打包名稱:artifactid+verson 打包方式 -->
<build>
  <finalName>maven-web-888</finalName>
</build> 

基于 IDEA 進行 Maven 依賴管理,maven 專欄,maven

6.2 構(gòu)建包含指定文件

????????如果在 java 文件夾中添加 java 類,會自動打包編譯到 classes 文件夾下,但是如果在 java 文件夾中添加 xml 文件,默認則不會被打包。因為在默認情況下,只有按照 maven 工程結(jié)構(gòu)放置的文件會默認被編譯和打包。

? ? ? ? 例如,在 mybatis 中有時會將用于編寫 sql 語句的映射文件和 mapper 接口都寫在 src/main/java下的某個包中,此時映射文件就不會被打包,如下:

基于 IDEA 進行 Maven 依賴管理,maven 專欄,maven

????????我們可以使用 resources 標(biāo)簽,指定要打包資源的文件夾要把哪些靜態(tài)資源打包到 classes 根目錄下,pom.xml 的內(nèi)容如下:

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

? ? ? ? 再次打包,發(fā)現(xiàn)配置文件出現(xiàn)了,如下?

基于 IDEA 進行 Maven 依賴管理,maven 專欄,maven

6.3 配置依賴插件

????????我們可以在 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>

? ? ? ? 接下來我們演示下 tomcat 的插件,如下圖,配置 tomcat 插件就省去了麻煩的 tomcat 配置。

基于 IDEA 進行 Maven 依賴管理,maven 專欄,maven文章來源地址http://www.zghlxwxcb.cn/news/detail-804605.html

到了這里,關(guān)于基于 IDEA 進行 Maven 依賴管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

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

    idea查找maven所有依賴

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

    2024年02月11日
    瀏覽(21)
  • IntelliJ IDEA中下載Maven依賴、maven導(dǎo)入pom包

    IntelliJ IDEA中下載Maven依賴、maven導(dǎo)入pom包

    此方法可以在IDEA中重新下載Maven依賴 1.點擊IDEA界面右側(cè)Maven Projects 2.點擊小M圖標(biāo)(如下圖) 3.等待加載完成,有點長,需等待 4.最后點擊兩個箭頭的小圓圈刷新Reimport即可… idea 中 maven pom不自動更新的5種解決方法_建仔的博客專欄-CSDN博客_idea pom 點擊加號導(dǎo)入pom文件 點擊 M

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

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

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

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

    IDEA解析Maven依賴過慢

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

    2024年02月09日
    瀏覽(22)
  • 【Java——maven的使用與idea創(chuàng)建maven項目,導(dǎo)入maven依賴(jar包)】

    【Java——maven的使用與idea創(chuàng)建maven項目,導(dǎo)入maven依賴(jar包)】

    1.1、打開maven安裝路徑下的conf文件夾,找到里面的settings.xml文件,(如果使用的是maven安裝程序安裝的maven,則settings.xml文件和本地倉庫位置在默認位置:C:Userspenglei.m2)將下面的代碼復(fù)制里面,切記不要放到注釋里面 1.2、maven項目全局默認配置jdk版本信息,將下面的代碼復(fù)制

    2024年02月08日
    瀏覽(103)
  • 解決IDEA Maven依賴下載失敗、Maven依賴包導(dǎo)入失敗報紅的問題(項目實操)

    解決IDEA Maven依賴下載失敗、Maven依賴包導(dǎo)入失敗報紅的問題(項目實操)

    在向IDEA導(dǎo)入一個maven項目的時候,有一些依賴就是無法下載下來,我想盡了辦法,查盡了資料,還是無法解決,最后通過我的一個突發(fā)奇想解決了問題。 一、我的pom文件報紅的依賴,在maven倉庫官網(wǎng)上都可以搜索到,但是無論想什么辦法,IDEA就是下載不下來依賴 二、首先列

    2024年02月16日
    瀏覽(94)
  • IDEA 配置 Maven(解決依賴下載緩慢)

    IDEA 配置 Maven(解決依賴下載緩慢)

    第四步 主要講了在IDEA中配置Maven,并且導(dǎo)入本地自己下載的Maven,速度直接起飛?。?!聽我一句勸, 不要用鏡像,慢的要死。自己下一個 ,然后每次用的時候一導(dǎo)入,速度很快!?。?! Maven 是專門用于管理和構(gòu)建 Java 項目的工具,Apache Maven 是一個項目管理和構(gòu)建工具,它基

    2024年02月03日
    瀏覽(27)
  • idea maven聚合工程pom依賴

    spring boot 與 spring cloud 與 spring.cloud.alibaba 版本選擇

    2024年02月16日
    瀏覽(22)
  • 解決IDEA新建springboot項目時不能導(dǎo)入maven依賴(右邊沒有maven窗口)

    解決IDEA新建springboot項目時不能導(dǎo)入maven依賴(右邊沒有maven窗口)

    1.問題:今天在github上找了一個springboot項目,但是用idea打開后發(fā)現(xiàn)不能導(dǎo)入maven依賴,并且在IDEA右邊也沒有出現(xiàn)maven窗口,如下圖 ?2.解決方法:右鍵點擊pom.xml文件,然后點擊“Add as Maven Project”即可 ?此時發(fā)現(xiàn)右邊出現(xiàn)maven,然后在pom.xml中重新加載maven依賴即可 ?

    2024年02月14日
    瀏覽(103)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包