編譯項(xiàng)目:mvn compile
把所有的@test文件都編譯一下并生成測(cè)試報(bào)告:mvn test
清除文件以前編譯生成的文件:mvn clean
一般在打包的時(shí)候都要進(jìn)行clean一下
打包:mvn package
手動(dòng)把本地的jar安裝到本地的倉庫:mvn install(優(yōu)點(diǎn)可以把service和dao抽取出來當(dāng)成一個(gè)項(xiàng)目,然后安裝到本地,其他的項(xiàng)目可以直接導(dǎo)入該架包)
打包的時(shí)候忽略test編譯:mvn package -Dmave.test.skip=true
生成maven的骨架:mvn archetype:generate,然后即根據(jù)下面提示的信息進(jìn)行設(shè)置groupid,artifactid,version,package
------------------------------------------------------------------
Maven的scope范圍:
test:在測(cè)試的范圍有效,在編譯和打包的時(shí)候不會(huì)使用這個(gè)依賴
compile :變異的時(shí)候有效,編譯和打包的時(shí)候會(huì)進(jìn)行依賴進(jìn)去
Provided:在編譯和測(cè)試的時(shí)候有效,打包為war不會(huì)依賴進(jìn)去,比如servle-api.jar ,因?yàn)檫@個(gè)包在tomcat中已經(jīng)存在,如果再打包會(huì)有沖突
Runtime:運(yùn)行的時(shí)候依賴,但是在編譯的時(shí)候不會(huì)進(jìn)行依賴。
默認(rèn)的是compile
-------------------------------------------------
maven 的傳遞性:
b項(xiàng)目和c項(xiàng)目是獨(dú)立的,并且進(jìn)行mvn install生成jar,在a項(xiàng)目中引入b.jar,c.jar,這樣的話a項(xiàng)目就擁有了b項(xiàng)目和c項(xiàng)目中的包。
maven的層次性質(zhì):
導(dǎo)入:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>my.maven</groupId>
<artifactId>user-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>my.maven</groupId>
<artifactId>user-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>my.maven</groupId>
<artifactId>user-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
如果b項(xiàng)目和c項(xiàng)目種分別引入了log4j這個(gè)包,但是版本是不一樣的,這時(shí)候就看在pom文件中誰先引入,就是那個(gè)版本的包,而且還有層級(jí)的關(guān)系影響引入。
除此之外導(dǎo)入項(xiàng)目包的時(shí)候,往往導(dǎo)入一個(gè)包就會(huì)傳遞很多的包進(jìn)行,這時(shí)候我們可以相對(duì)性的忽略一些包的導(dǎo)入exclusions進(jìn)行忽略
聚合:
使用一條命令就能操作很多的聚合項(xiàng)目:比如一個(gè)項(xiàng)目由user-service,user-dao,user-web來組成,其中service-web引入user-service和user-dao這兩個(gè)項(xiàng)目,當(dāng)我們編譯項(xiàng)目的時(shí)候,不用一個(gè)一個(gè)進(jìn)行編譯,我們可以建立一個(gè)簡(jiǎn)單的maven項(xiàng)目(pom類型),其中簡(jiǎn)單的maven項(xiàng)目類型的pom文件如下配置:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.maven</groupId>
<artifactId>user-combine</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- 聚合 -->
<modules>
<module>../user-dao</module>
<module>../user-service</module>
<module>../user-web</module>
</modules>
</project>
這樣的話我們就不用單個(gè)去操作當(dāng)子項(xiàng)目了,我們可以操作user-combine這個(gè)項(xiàng)目進(jìn)行編譯,因?yàn)樵趗ser-combine項(xiàng)目中已經(jīng)把上面的三個(gè)子項(xiàng)目聚合在一起了。
繼承:
父項(xiàng)目pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.maven</groupId>
<artifactId>user-combine</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework.version>3.1.2.RELEASE</org.springframework.version>
<junit.version>3.8.1</junit.version>
</properties>
<!-- 聚合 -->
<modules>
<module>../user-core</module>
<module>../user-dao</module>
<module>../user-service</module>
<module>../user-web</module>
</modules>
<!-- 繼承的架包管理 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
子項(xiàng)目pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 繼承 -->
<parent>
<groupId>my.maven</groupId>
<artifactId>user-combine</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../user-combine/pom.xml</relativePath>
</parent>
<!-- <groupId>my.maven</groupId> -->
<artifactId>user-service</artifactId>
<!-- <version>0.0.1-SNAPSHOT</version> -->
<packaging>jar</packaging>
<name>user-service</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
</dependencies>
</project>
當(dāng)前題目:Maven筆記-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article2/depoic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、做網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容