欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven?自動化構(gòu)建的實現(xiàn)示例

 更新時間:2024年05月13日 09:19:20   作者:程序猿進(jìn)階  
本文主要介紹了Maven?自動化構(gòu)建的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、Maven:是一款服務(wù)于 Java平臺的自動化構(gòu)建工具

【1】Maven可以將一個項目按模塊劃分成不同的工程,利于分工協(xié)作;
【2】Maven可以將 jar包保存在自己的中央“倉庫”中進(jìn)行統(tǒng)一管理,有需要使用的工程引用這個文件接口即可,不需要真的將 ja包復(fù)制過來(解決同樣的 jar包文件重復(fù)出現(xiàn)在不同的項目工程中,一方面浪費存儲空間,另外也讓工程比較臃腫);
【3】可以自動導(dǎo)入依賴的相關(guān)jar包,之前需要自己手動導(dǎo)入相關(guān) jar包;
【4】Tip:如下表示運行時環(huán)境,主要存儲 String等類似對象,其實只是一組 jar包的引用;

在這里插入圖片描述

二、安裝 Maven:配置環(huán)境變量即可

【1】創(chuàng)建 MAVNE_HOME環(huán)境變量

在這里插入圖片描述

【2】在 path 中添加 Maven 的 bin 目錄:驗證(mvn -v)命令查看 maven 版本

在這里插入圖片描述

三、自定義Maven倉庫

修改解壓目錄下的conf/setting.xml文件:

在這里插入圖片描述

四、命令

【1】maven compile:編譯main文件,生成class文件位于 target 目錄中。
【2】maven package:對主程序進(jìn)行打包,生成文件在 target 目錄中。
【3】maven clean:清理 target 目錄下文件。
POM:project object model 項目對象模型。對于 Maven 工程是核心配置文件,與構(gòu)建過程相關(guān)的一切設(shè)置都是在這個文件中進(jìn)行設(shè)置。

五、坐標(biāo):使用下面三個向量在倉庫中唯一定位一個Maven工程

【1】groupid: 公司或組織域名倒序+項目名
【2】artifactid: 模塊名稱Hello
【3】version: 版本

<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.0.RELEASE</version>

【定位的文件】:org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar

六、 倉庫的分類

【1】本地倉庫:當(dāng)前電腦上部署的倉庫目錄,為當(dāng)前電腦上所有的Maven工程服務(wù)。
【2】遠(yuǎn)程倉庫:①、私 服:搭建在當(dāng)前局域網(wǎng)下,為當(dāng)前局域網(wǎng)網(wǎng)范圍內(nèi)的所有Maven工程服務(wù)。②、中央倉庫:架設(shè)在Internet上,為全世界所有Maven工程服務(wù)。③、中央倉庫的鏡像:為了分擔(dān)中央倉庫的壓力,提升用戶訪問的速度。

七、依賴:Maven解析依賴信息時,會到本地倉庫中找被依賴的jar包。

對于我們開發(fā)的工程需要使用 install 命令安裝后就可以進(jìn)入倉庫,生成 jar 包等文件。

<dependency>
    <groupId>com.shidaiyintong</groupId>
    <artifactId>Hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <scope>compile</scope>
</dependency> 

依賴具有傳遞性: 當(dāng)父類依賴了 jar 包后,子類 Maven Dependencies 也會自動添加,但非 compile 范圍的 jar 包不能傳遞。
依賴的排除性:使用 exlutions 標(biāo)簽

<exclusions>
    <exclution>
          <groupId>xxxx</groupId>
          <artifactId>xxx</artifactId>
    </exclution>
</exclutions>    
<exclusions>
    <exclution>
          <groupId>xxxx</groupId>
          <artifactId>xxx</artifactId>
    </exclution>
</exclutions>

依賴的原則: 解決 jar 包沖突問題,就近原則。相同路徑取先聲明者優(yōu)先,指 dependency標(biāo)簽的聲明順序。

依賴的范圍:

【1】compile: 對主程序、測試程序可見,主程序參與打包、測試程序不參與打包
【2】test: 對主程序無效,對測試程序有效,不參與打包

在這里插入圖片描述

【3】provided: 主要用于開發(fā),測試有效。不參與打包(不部署),防止沖突(特別是一些服務(wù)器的jar包)。 點擊并拖拽以移動?點擊并拖拽以移動?

在這里插入圖片描述

八、生命周期

清理、編譯、測試、報告、打包、安裝、部署、運行。
特性: 當(dāng)執(zhí)行某一階段時,都是從第一階段開始執(zhí)行。

九、利用 MyEclipse 中使用 Maven

【1】使用內(nèi)置 Maven 但是需要設(shè)置如下(不建議使用自帶的 Maven 程序,不穩(wěn)定。使用我們自己解壓的文件)

Window—>Preferences—>Maven4MyEclise—>Installations—>Add

在這里插入圖片描述

【2】設(shè)置 User Settings: 指定 conf/settings.xml 的位置,進(jìn)而獲取本地倉庫的位置,如下:

在這里插入圖片描述

【3】修改每次創(chuàng)建 Maven 項目后,JDK的版本,需要在 settings.xml 文件中 標(biāo)簽內(nèi)添加如下:

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

【4】Maven 中執(zhí)行命令的方式:pom.xml—>右鍵—>Maven build…—>Golas(compile)等。

【5】Maven 創(chuàng)建一個 Web 工程: 創(chuàng)建的時候 packing:war 包,創(chuàng)建完后,會發(fā)現(xiàn)與我們平常的 web 工程不太一樣,缺少web.xml等文件。添加方式如下:選中工程右鍵進(jìn)入 properties 屬性—> Project Facets 去掉 Dynamic Web Model再勾上Dynamic Web Model,會出現(xiàn)超鏈接如下:

在這里插入圖片描述

【6】在 Content directory 中輸入要存放標(biāo)準(zhǔn)Web工程生成的文件的目錄

在這里插入圖片描述

【7】最終目錄如下:

在這里插入圖片描述

【8】Maven工程導(dǎo)入Existing Maven Project 沒有 cope 功能,因此要將Maven工程放入 workspace 目錄中,進(jìn)行導(dǎo)入。在Maven工程中主要通過 pom.xml 文件進(jìn)行識別。普通Java文件導(dǎo)入時,有 cope 功能,也能夠?qū)?Maven 工程,但必須是Eclipse 工程,工程中含有 .clsspath/.project 文件為Eclipse工程。

【9】自定義版本標(biāo)簽: 方便版本升級等問題的解決,凡是需要聲明后統(tǒng)一使用的場合都可以使用, 使用的時候只需要在 中輸入 ${atguigu.spring.version} 即可

<properties>
   <atguigu.spring.verion>4.0.0.RELEASE</atguigu.spring.version>
</peoperties>

十、繼承

對依賴范圍: test、provide 的同一 jar 包的版本的管理。

解決思想: 將此 jar包統(tǒng)一提取到“父”工程中,在子工程中聲明此 jar包依賴時不指定版本號,以父工程中統(tǒng)一設(shè)定的為準(zhǔn),同時也便于修改。

操作步驟:
【1】創(chuàng)建一個 Maven 工程作為父工程,打包方式為 pom
【2】在子工程中聲明對父工程的引用
【3】將子工程中坐標(biāo)與父工程坐標(biāo)相同的內(nèi)容刪掉
【4】在父工程中統(tǒng)一 jar包依賴
【5】在自工程中刪除jar包依賴的版本號

子類找干爹配置:

<parent>
   <!--父元素的pom地址-->
   <relativePath>../Parent/pom.xml</relativePath><!--相對地址-->
</parent>

父類統(tǒng)一管理配置: 配置集成后,執(zhí)行安裝命令 install 時,要先安裝 parent,按順序 install,解決辦法,聚合即可。

 <dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit<artifactId>
             <version>4.0</version>
             <scope>test</scope>
         </dependency>
     <dependencies>
 </dependencyManagement>

十一、聚合:一鍵安裝各個模塊工程

【1】配置方式: 在一個工程中配置,例如 parent 工程中:直接install parent項目就安裝了全部工程,會自動檢測順序。
【2】查找 jar包的 pom文件: http://mvnrepository.com

<modules>
	<module>../Hello</module>
	<module>../HelloFriend</module>
</modules>

到此這篇關(guān)于Maven 自動化構(gòu)建的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Maven 自動化構(gòu)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JDK8的lambda方式List轉(zhuǎn)Map的操作方法

    JDK8的lambda方式List轉(zhuǎn)Map的操作方法

    account是一個返回本身的lambda表達(dá)式,其實還可以使用Function接口中的一個默認(rèn)方法代替,使整個方法更簡潔優(yōu)雅,這篇文章主要介紹了JDK8的lambda方式List轉(zhuǎn)Map,需要的朋友可以參考下
    2022-07-07
  • Spring實戰(zhàn)之容器中的工程Bean用法示例

    Spring實戰(zhàn)之容器中的工程Bean用法示例

    這篇文章主要介紹了Spring實戰(zhàn)之容器中的工程Bean用法,結(jié)合實例形式分析了Sring框架容器中的工程Bean相關(guān)配置、使用操作技巧,需要的朋友可以參考下
    2019-11-11
  • JEE與Spring Boot代碼性能比較分析

    JEE與Spring Boot代碼性能比較分析

    JavaEE與Spring Boot其實很難比較測試,前者適合單體SOA架構(gòu),后者適合微服務(wù),但是還是有好事者把兩者放在一起比較性能。這篇文章主要介紹了JEE與Spring Boot代碼性能比較,需要的朋友可以參考下
    2018-11-11
  • Java實現(xiàn)掃雷游戲詳細(xì)代碼講解

    Java實現(xiàn)掃雷游戲詳細(xì)代碼講解

    windows自帶的游戲《掃雷》是陪伴了無數(shù)人的經(jīng)典游戲,本文將利用Java語言實現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下
    2022-05-05
  • SpringBoot日志進(jìn)階實戰(zhàn)之Logback配置經(jīng)驗和方法

    SpringBoot日志進(jìn)階實戰(zhàn)之Logback配置經(jīng)驗和方法

    本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動文件、異步日志記錄、動態(tài)指定屬性、日志級別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識點,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • kafka生產(chǎn)實踐(詳解)

    kafka生產(chǎn)實踐(詳解)

    下面小編就為大家?guī)硪黄猭afka生產(chǎn)實踐(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java 并發(fā)編程中如何創(chuàng)建線程

    Java 并發(fā)編程中如何創(chuàng)建線程

    這篇文章主要介紹了Java 并發(fā)編程中如何創(chuàng)建線程,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java開發(fā)之Lombok指南

    Java開發(fā)之Lombok指南

    Lombok是一款Java開發(fā)插件,使得Java開發(fā)者可以通過其定義的一些注解來消除業(yè)務(wù)工程中冗長和繁瑣的代碼,它能夠在編譯源代碼期間自動幫我們生成這些方法,并沒有如反射那樣降低程序的性能。下面我們來詳細(xì)了解一下吧
    2019-06-06
  • Java 序列化詳解及簡單實現(xiàn)實例

    Java 序列化詳解及簡單實現(xiàn)實例

    這篇文章主要介紹了 Java 序列化詳解及簡單實現(xiàn)實例的相關(guān)資料,使用序列化目的:以某種存儲形式使自定義對象持久化,將對象從一個地方傳遞到另一個地方,需要的朋友可以參考下
    2017-03-03
  • 實例講解分布式緩存軟件Memcached的Java客戶端使用

    實例講解分布式緩存軟件Memcached的Java客戶端使用

    這篇文章主要介紹了分布式緩存軟件Memcached的Java客戶端使用,Memcached在GitHub上開源,作者用其Windows平臺下的版本進(jìn)行演示,需要的朋友可以參考下
    2016-01-01

最新評論