大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 maven面試題,考題解析

maven面試題,考題解析

更新時間:2022-12-12 16:03:17 來源:動力節點 瀏覽1474次

又是新的找工作與跳槽旺季,學習Java技術開發的同學都非常希望可以進入大廠就業,但是進入大廠就業需要經過層層面試的篩選,今天小編就總結了一套大廠有關maven面試的一些題目,希望可以在新的一年幫助到大家:

maven面試題

1.Maven坐標

一般maven使用[groupID,artifactId,version,packaging]來表示一個項目的某個版本,有時還會使用classifier來表示項目的附屬構建,常見的附屬構建有javadoc和sources包。

2.Maven常見的依賴范圍有哪些?

1)compile:編譯依賴,默認的依賴方式,在編譯(編譯項目和編譯測試用例),運行測試用例,運行(項目實際運行)三個階段都有效,典型地有spring-core等jar。

2)test:測試依賴,只在編譯測試用例和運行測試用例有效,典型地有JUnit。

3)provided:對于編譯和測試有效,不會打包進發布包中,典型的例子為servlet-api,一般的web工程運行時都使用容器的servlet-api。

4)runtime:只在運行測試用例和實際運行時有效,典型地是jdbc驅動jar包。

5)system: 不從maven倉庫獲取該jar,而是通過systemPath指定該jar的路徑。

6)import: 用于一個dependencyManagement對另一個dependencyManagement的繼承。

3.Maven的生命周期

maven有三套生命周期,分別為:

1、clean 周期:主要用于清理上一次構建產生的文件,可以理解為刪除target目錄

2、默認周期,

主要階段包含:

1)process-resources 默認處理src/test/resources/下的文件,將其輸出到測試的classpath目錄中,

2)compile 編譯src/main/java下的java文件,產生對應的class,

3)process-test-resources 默認處理src/test/resources/下的文件,將其輸出到測試的classpath目錄中,

4)test-compile 編譯src/test/java下的java文件,產生對應的class,

5)test 運行測試用例,

6)package 打包構件,即生成對應的jar, war等,

7)install將構件部署到本地倉庫,

8)deploy 部署構件到遠程倉庫

3、site周期

主要階段包含:

  • site 產生項目的站點文檔
  • site-deploy 將項目的站點文檔部署到服務器

4.我們經常使用“Mvn Clean Package”命令進行項目打包,請問該命令執行了哪些動作來完成該任務?

在這個命令中我們調用了maven的clean周期的clean階段綁定的插件任務,以及default周期的package階段綁定的插件任務

默認執行的任務有(maven的術語叫goal, 也有人翻譯成目標,我這里用任務啦):

maven-clean-plugin:clean->
maven-resources-plugin:resources->
maven-compile-plugin:compile->
mavne-resources-plugin:testResources->maven-compile-plugin:testCompile->maven-jar-plugin:jar

5.依賴的解析機制

解析發布版本:如果本地有,直接使用本地的,沒有就向遠程倉庫請求。

解析快照版本:合并本地和遠程倉庫的元數據文件-groupId/artifactId/version/maven-metadata.xml,這個文件存的版本都是帶時間戳的,將最新的一個改名為不帶時間戳的格式供本次編譯使用。

解析版本為LATEST,RELEASE,過于復雜,且解析的結果不穩定, 不推薦在項目中使用,感興趣的同學自己去研究,簡而言之就是合并groupId/artifactId/maven-metadata.xml找到對應的最新版本和包含快照的最新版本。

6.插件的解析機制

當我們輸入"mvn dependency:tree"這樣的指令,解析的步驟為:

1)解析groupID:maven使用默認的groupID:"org.apache.maven.plugins"或者"org.codehaus.mojo"

2)解析artifactId(maven的官方叫做插件前綴解析策略)

3)合并該groupId在所有倉庫中的元數據庫文件(maven-metadata-repository.xml),比如maven官方插件的元數據文件所在的目錄為orgapachemavenplugins,該文件下有如下的條目

<plugin>
<name>MavenDependencyPlugin</name>
<prefix>dependency</prefix>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>

通過比較這樣的條目,我們就將該命令的artifactId解析為maven-dependency-plugin

4)解析version:如果你在項目的pom中聲明了該插件的版本,那么直接使用該版本的插件,否則合并所有倉庫中groupId/artifactId/maven-metadata-repository.xml,找到最新的發布版本。

對于非官方的插件,有如下兩個方法可以選擇:

1)使用groupId:artifactId:version:goal 來運行

2)在Settings.xml中添加pluginGroup項,這樣maven不能在官方的插件庫中解析到某個插件,那么就可以去你配置的group下查找啦。

以上就是“maven面試題,考題解析”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品久久毛片蜜月 | 欧美日本一区亚洲欧美一区 | 亚洲第一综合色 | 国产成人精品本亚洲 | 欧美日韩在线成人免费 | 日韩欧美视频一区 | 天天爽天天碰狠狠添 | 亚洲大片免费观看 | 欧美成人性生活视频 | 男人的天堂黄 | 91久久夜色精品国产网站 | 日韩亚洲欧美在线爱色 | 久久精品国产精品亚洲红杏 | 无遮挡一级毛片呦女视频 | 真人午夜a一级毛片 | 亚洲成人7777| 国产一区二区福利久久 | 精品国产中文字幕 | 欧美最猛性xxxxx短视频 | 国产精品久久久久蜜芽 | 亚洲精品国产自在久久出水 | 欧美色p| 中文字幕一级毛片 | 欧美三级午夜理伦三级小说 | 日本黄页网 | jizz成熟丰满老女人 | 丹武至尊在线观看动漫 | 久久亚洲精品专区蓝色区 | 亚洲欧美乱综合图片区小说区 | 欧美伦理一区二区三区 | 欧美曰韩一区二区三区 | 欧美三区在线 | 日本aⅴ永久免费网站www | 日韩在线a视频免费播放 | 欧美久久综合 | 日本免费三区 | 成人免费视频视频在线观看 免费 | 成 人国产在线观看高清不卡 | 四虎影视8848a四虎在线播放 | 亚洲精品久久久久久下一站 | 久久一|