創(chuàng)意簡約啤酒徽章logo設(shè)計頁面優(yōu)化的方法有哪些
1.什么是Maven?
Maven使用項目對象模型(POM)的概念,可以通過一小段描述信息來管理項目的構(gòu)建,報告和文檔的軟件項目管理工具。
Maven 除了以程序構(gòu)建能力為特色之外,還提供高級項目管理工具。由于 Maven 的缺省構(gòu)建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構(gòu)建腳本就可以構(gòu)建簡單的項目。由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目發(fā)布時使用 Maven,而且公司項目采用 Maven 的比例在持續(xù)增長。
Maven的出現(xiàn),解決了開發(fā)過程中的jar包升級及依賴的難題。它可以對項目依賴的jar包進行管理,可以讓你的項目保持基本的依賴,排除冗余jar包,并且可以讓你非常輕松的對依賴的jar包進行版本升級。而這些僅僅是Maven最基本的功能,它可以在這基礎(chǔ)上對項目進行清理、編譯、測試、打包、發(fā)布等等構(gòu)建項目的工作。
可以說,Maven是現(xiàn)在Java社區(qū)中最強大的項目管理和項目構(gòu)建工具,而更加值得慶幸的是,這樣一個強大的工具,它的使用也是非常簡單的。
現(xiàn)在,JavaEE項目使用的開源軟件都可以通過Maven來獲取,并且,越來越多的公司也開始使用Maven來管理構(gòu)建項目了。
2.Maven和ANT的區(qū)別
1.maven&ant同屬apach是流行的構(gòu)建工具。
都是為了簡化軟件開發(fā)而存在的。但是maven因為自身管理一個項目對象模型(project object model),這個模型其實就是抽象了一個項目的開發(fā)流程,它包含了一個項目的生命周期的各個階段,并將這個周期固定下來,這也就是約定大于配置。約定大于配置的意思就是,我maven將項目開發(fā)的各個階段固定起來了,每個文件的存放位置,每個階段要生成什么文件、保存為什么格式并且要把它放在什么位置,我都固定好了。我知道一個軟件是怎么開發(fā)出來,如果一個項目要使用maven,可以,但你要遵循我的規(guī)則,文件目錄不要亂建亂放,只有這樣maven才會將源碼用起來。這就是約定大于配置,因為maven已經(jīng)將流程固定下來了,只要遵守約定,就不需要自己手動去配置了,這將大大地提高開發(fā)效率。就像是開車一樣,只要知道點火、油門、方向、剎車,就可以將車子開東起來(當(dāng)然出于安全和法律考慮,還是要考駕照的。),關(guān)于車子內(nèi)部的傳動原理,電氣原理,工程原理,普通人并不需要了解多少,日常夠用就好了。這也是約定大于配置的一個例子。配置就是自己造一輛車去開,有必要,有能力,有時間嗎?
2.maven的中央倉庫和pom.xml文件。中央倉庫統(tǒng)一存放了開發(fā)用到的各種jar包,要用時只需要添加依賴到pom文件中,maven就會自動下載,當(dāng)然為了方便一般會在本地建一個倉庫,減少下載時間。pom文件是maven的配置文件,maven就是通過管理pom文件和一些核心插件來管理項目。當(dāng)然我前面將maven擬人化了,其實maven是沒有智力的,一切都是封裝好的流程,只是maven將很多操作隱藏起來了。
3.ant的build.xml文件。build文件是ant的配置文件,ant依靠它來執(zhí)行操作,與maven不同的是ant沒有固定一條程序鏈。你想要執(zhí)行什么操作以及操作之間的順序和依賴關(guān)系,都需要手動添加到build文件中,一點一滴都要寫清楚,否則ant就不會執(zhí)行。
4.maven和ant區(qū)別
Maven 擁有約定,只要遵守約定,它就知道你的源代碼在哪里。Maven 是聲明式的。你需要做的只是創(chuàng)建一個 pom.xml 文件然后將源代碼放到默認的目錄。Maven 會幫你處理其它的事情。Maven 有一個生命周期,當(dāng)你運行 mvn install 的時候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達你指定的生命周期。缺點是運行許多默認目標。
而ant沒有約定,項目生命周期,它是命令式的。所有操作都要手動去創(chuàng)建、布置。甚至連build.xml文件都需要手動創(chuàng)建。
3.Maven倉庫是什么
Maven倉庫是基于簡單文件系統(tǒng)存儲的,集中化管理Java API資源(構(gòu)件)的一個服務(wù)。倉庫中的任何一個構(gòu)件都有其唯一的坐標,根據(jù)這個坐標可以定義其在倉庫中的唯一存儲路徑。得益于 Maven 的坐標機制,任何 Maven項目使用任何一個構(gòu)件的方式都是完全相同的,Maven 可以在某個位置統(tǒng)一存儲所有的 Maven 項目共享的構(gòu)件,這個統(tǒng)一的位置就是倉庫,項目構(gòu)建完畢后生成的構(gòu)件也可以安裝或者部署到倉庫中,供其它項目使用。
對于Maven來說,倉庫分為兩類:本地倉庫和遠程倉庫。
4.Maven的工程類型有哪些?
POM工程
POM工程是邏輯工程。用在父級工程或聚合工程中。用來做jar包的版本控制。
JAR工程
將會打包成jar用作jar包使用。即常見的本地工程 - Java Project。
WAR工程
將會打包成war,發(fā)布在服務(wù)器上的工程。如網(wǎng)站或服務(wù)。即常見的網(wǎng)絡(luò)工程 - Dynamic Web Project。war工程默認沒有WEB-INF目錄及web.xml配置文件,IDE通常會顯示工程錯誤,提供完整工程結(jié)構(gòu)可以解決。
5.Maven常用命令有哪些?
install
本地安裝, 包含編譯,打包,安裝到本地倉庫
編譯 - javac
打包 - jar, 將java代碼打包為jar文件
安裝到本地倉庫 - 將打包的jar文件,保存到本地倉庫目錄中。
clean
清除已編譯信息。
刪除工程中的target目錄。
compile
只編譯。 javac命令
deploy
部署。 常見于結(jié)合私服使用的命令。
相當(dāng)于是install+上傳jar到私服。
包含編譯,打包,安裝到本地倉庫,上傳到私服倉庫。
package
打包。 包含編譯,打包兩個功能。