編譯項(xiàng)目:mvn compile
創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、朔州網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、朔州網(wǎng)絡(luò)營(yíng)銷(xiāo)、朔州企業(yè)策劃、朔州品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪(fǎng)、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供朔州建站搭建服務(wù),24小時(shí)服務(wù)熱線(xiàn):028-86922220,官方網(wǎng)址:muchs.cn把所有的@test文件都編譯一下并生成測(cè)試報(bào)告:mvn test
清除文件以前編譯生成的文件:mvn clean
一般在打包的時(shí)候都要進(jìn)行clean一下
打包:mvn package
手動(dòng)把本地的jar安裝到本地的倉(cāng)庫(kù):mvn install(優(yōu)點(diǎn)可以把service和dao抽取出來(lái)當(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è)依賴(lài)
compile :變異的時(shí)候有效,編譯和打包的時(shí)候會(huì)進(jìn)行依賴(lài)進(jìn)去
Provided:在編譯和測(cè)試的時(shí)候有效,打包為war不會(huì)依賴(lài)進(jìn)去,比如servle-api.jar ,因?yàn)檫@個(gè)包在tomcat中已經(jīng)存在,如果再打包會(huì)有沖突
Runtime:運(yùn)行的時(shí)候依賴(lài),但是在編譯的時(shí)候不會(huì)進(jìn)行依賴(lài)。
默認(rèn)的是compile
-------------------------------------------------
maven 的傳遞性:
b項(xiàng)目和c項(xiàng)目是獨(dú)立的,并且進(jìn)行mvn install生成jar,在a項(xiàng)目中引入b.jar,c.jar,這樣的話(huà)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文件中誰(shuí)先引入,就是那個(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來(lái)組成,其中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類(lèi)型),其中簡(jiǎn)單的maven項(xiàng)目類(lèi)型的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>
這樣的話(huà)我們就不用單個(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://muchs.cn/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)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容