日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

mevan 的常用命令和参数解释

發(fā)布時(shí)間:2024/3/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mevan 的常用命令和参数解释 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

Maven是一個(gè)項(xiàng)目管理工具,它包含了一個(gè)項(xiàng)目對(duì)象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project Lifecycle),一個(gè)依賴管理系統(tǒng)(Dependency Management System),和用來(lái)運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時(shí)候,你用一個(gè)明確定義的項(xiàng)目對(duì)象模型來(lái)描述你的項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來(lái)自一組共享的(或者自定義的)插件。
  Maven 有一個(gè)生命周期,當(dāng)你運(yùn)行 mvn install 的時(shí)候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期。遍歷生命周期旅途中的一個(gè)影響就是,Maven 運(yùn)行了許多默認(rèn)的插件目標(biāo),這些目標(biāo)完成了像編譯和創(chuàng)建一個(gè) JAR 文件這樣的工作。

后來(lái)遇到的錯(cuò)誤
當(dāng)文件pom文件第一行 錯(cuò)誤
==org.apache.maven.plugin.war.WarMojo ==
解決方法

mevan常用命令

mvn archetype:generate 創(chuàng)建Maven項(xiàng)目

mvn compile 編譯源代碼
  mvn deploy 發(fā)布項(xiàng)目
  mvn test-compile 編譯測(cè)試源代碼
  mvn test 運(yùn)行應(yīng)用程序中的單元測(cè)試
  mvn site 生成項(xiàng)目相關(guān)信息的網(wǎng)站
  mvn clean 清除項(xiàng)目目錄中的生成結(jié)果
  mvn package 根據(jù)項(xiàng)目生成的jar
  mvn install 在本地Repository中安裝jar
  mvn eclipse:eclipse 生成eclipse項(xiàng)目文件
  mvnjetty:run 啟動(dòng)jetty服務(wù)
  mvntomcat:run 啟動(dòng)tomcat服務(wù)
  mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳過(guò)測(cè)試類

mevan工程結(jié)構(gòu)

工程名-> src->main (放運(yùn)行文件)->java(放java文件)->resources(放入外部資源文件)-> test(放測(cè)試文件)

為啥遵守meavan的工程結(jié)構(gòu)
mevan負(fù)責(zé)構(gòu)建這個(gè)項(xiàng)目的自動(dòng)化構(gòu)建 他必須知道java源文件在哪里
我們自己自定義的東西明確要讓mevan知道
用配置的方法明確告訴框架你
遵守框架內(nèi)部的約定

3.約定>配置>編碼

依賴
依賴的傳遞性
好處可以傳遞的依賴不比在每個(gè)模塊中都重復(fù)聲明 在最下面的 工程添加一個(gè)依賴就行了
注意 非 compile范圍的依賴不可以傳遞 所以在各個(gè)工程模塊中需要一個(gè)個(gè)聲明
依賴的排除(通常是自動(dòng)導(dǎo)入的依賴jar 包 他不是穩(wěn)定版本我們工程不想用它)

<exclusions> //在根文件配制里面配制這個(gè)就可以在那個(gè)工程里面配制在那個(gè)工程里面生效 后面的工程自然也就沒(méi)有了依賴<exclusion><groupId>commons- logging</groupId><artifactId>commons - loggingk/artifactId)</exclusion> </exclus ions>

依賴的原則
1 就近者有限 傳遞的越近越優(yōu)先
2通距離這 先聲明的優(yōu)先
統(tǒng)一管理依賴
1 手動(dòng)配置
2使用properties 配置參數(shù)

讀取參數(shù)

繼承
①創(chuàng)建Parent工程,打包方式為pom
②收集所有非compile范圍的依賴信息,使用dependencyManagement標(biāo)簽統(tǒng)一管理

<dependencyManagement><dependencies><dependency><groupId>junit</groupId> //要要管理的jar包<artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency></dependencies></dependencyManagement>

③在各個(gè)子工程中引用父工程

<parent><groupId>com.atguigu.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><!-- 以當(dāng)前文件為基準(zhǔn)查找父工程中pom.xml文件的相對(duì)路徑 --><relativePath>../Parent/pom.xml</relativePath></parent>

④刪除子工程中的重復(fù)信息
groupId
artifactid
⑤在子工程中找到被父工程管理的依賴信息,刪除版本號(hào)部分
⑥在父工程中統(tǒng)一修改已管理的依賴信息的版好、版本號(hào),看是否能夠控制所有子工程

.聚合

在總的聚合工程中加入如下信息 這個(gè)聚合工程可以在父類

<modules><module>../Hello</module><module>../HelloFriend</module><module>../MakeFriends</module></modules> 在總的聚合工程中加入如下信息 <modules><module>../Hello</module><module>../HelloFriend</module><module>../MakeFriends</module> </modules>

尚硅谷教程

1.解壓部署Maven核心程序
①檢查JAVA_HOME環(huán)境變量
C:\Windows\System32>echo %JAVA_HOME%
D:\DevInstall\jdk1.7.0_07
②解壓Maven的核心程序
將apache-maven-3.2.2-bin.zip解壓到一個(gè)非中文無(wú)空格的目錄下。例如:D:\DevInstall\apache-maven-3.2.2
③配置環(huán)境變量
M2_HOME D:\DevInstall\apache-maven-3.2.2
path D:\DevInstall\apache-maven-3.2.2\bin
④查看Maven版本信息驗(yàn)證安裝是否正確
C:\Windows\System32>mvn -v
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T21:51:42+08:00)
Maven home: D:\DevInstall\apache-maven-3.2.2\bin…
Java version: 1.7.0_07, vendor: Oracle Corporation
Java home: D:\DevInstall\jdk1.7.0_07\jre
Default locale: zh_CN, platform encoding: GBK
OS name: “windows 7”, version: “6.1”, arch: “amd64”, family: “windows”
2.修改本地倉(cāng)庫(kù)
①默認(rèn)本地倉(cāng)庫(kù)位置:~.m2\repository
~表示當(dāng)前用戶的家目錄,例如:C:\Users[你當(dāng)前登錄系統(tǒng)的用戶名]
②指定本地倉(cāng)庫(kù)位置的配置信息文件:apache-maven-3.2.2\conf\settings.xml
③在根標(biāo)簽settings下添加如下內(nèi)容:[本地倉(cāng)庫(kù)路徑,也就是RepMaven.zip的解壓目錄](méi)
3.第一個(gè)Maven工程
①目錄結(jié)構(gòu)
Hello
|—src
|—|---main
|—|---|—java
|—|---|—resources
|—|---test
|—|---|—java
|—|---|—resources
|—pom.xml

②POM文件內(nèi)容 <?xml version="1.0" ?> 4.0.0 <groupId>com.atguigu.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><name>Hello</name><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies> ③編寫(xiě)主程序代碼 在src/main/java/com/atguigu/maven目錄下新建文件Hello.java,內(nèi)容如下 package com.atguigu.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } } ④編寫(xiě)測(cè)試代碼 在/src/test/java/com/atguigu/maven目錄下新建測(cè)試文件HelloTest.java package com.atguigu.maven; import org.junit.Test; import static junit.framework.Assert.*; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String results = hello.sayHello("litingwei"); assertEquals("Hello litingwei!",results); } } ⑤運(yùn)行幾個(gè)基本的Maven命令 mvn compile 編譯 mvn clean 清理 mvn test 測(cè)試 mvn package 打包 ※注意:運(yùn)行Maven命令時(shí)一定要進(jìn)入pom.xml文件所在的目錄! 4.第二個(gè)Maven工程 ①工程名:HelloFriend ②目錄結(jié)構(gòu)與第一個(gè)Maven工程相同 ③POM文件 <?xml version="1.0" ?> 4.0.0 com.atguigu.maven HelloFriend 0.0.1-SNAPSHOT HelloFriend <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency> <dependency><groupId>com.atguigu.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency></dependencies> ④主程序:在src/main/java/com/atguigu/maven目錄下新建文件HelloFriend.java package com.atguigu.maven; import com.atguigu.maven.Hello; public class HelloFriend { public String sayHelloToFriend(String name){ Hello hello = new Hello(); String str = hello.sayHello(name)+" I am "+this.getMyName(); System.out.println(str); return str; } public String getMyName(){ return "John"; } } ⑤測(cè)試程序:在/src/test/java/com/atguigu/maven目錄下新建測(cè)試文件HelloFriendTest.java package com.atguigu.maven; import static junit.framework.Assert.assertEquals; import org.junit.Test; import com.atguigu.maven.Hello; public class HelloFriendTest {@Testpublic void testHelloFriend(){HelloFriend helloFriend = new HelloFriend();String results = helloFriend.sayHelloToFriend("litingwei");assertEquals("Hello litingwei! I am John",results); }}⑥運(yùn)行Maven命令mvn install 安裝

5.第三個(gè)Maven工程
①設(shè)置通過(guò)Maven創(chuàng)建的工程的JDK版本——一勞永逸
[1]打開(kāi)settings.xml文件
[2]找到profiles標(biāo)簽
[3]加入如下配置

jdk-1.7

true
1.7


<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>


②工程坐標(biāo)
groupId:com.atguigu.maven
ArtifactId:MakeFriends
Package:com.atguigu.maven
③在src/main/java中新建類com.atguigu.maven.MakeFriends
public String makeFriends(String name){
HelloFriend friend = new HelloFriend();
friend.sayHelloToFriend(“l(fā)itingwei”);
String str = “Hey,”+friend.getMyName()+" make a friend please.";
System.out.println(str);
return str;
}
④在src/test/java中新建類com.atguigu.maven.MakeFriendsTest
package com.atguigu.maven;
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
public class MakeFriendsTest {
@Test
public void testMakeFriends(){
MakeFriends makeFriend = new MakeFriends();
String str = makeFriend.makeFriends(“l(fā)itingwei”);
assertEquals(“Hey,John make a friend please.”,str);
}
}
⑤添加依賴信息

junit
junit
4.9
test


com.atguigu.maven
HelloFriend
0.0.1-SNAPSHOT
jar
compile

⑥在Eclipse環(huán)境下執(zhí)行Maven命令:右擊pom.xml選擇run as 中的命令執(zhí)行即可
6.測(cè)試依賴的范圍對(duì)傳遞性的影響
①在Hello中添加對(duì)spring-core的依賴

org.springframework
spring-core
4.0.0.RELEASE
compile

②在HelloFriend中查看spring-core是否被加入了運(yùn)行時(shí)環(huán)境
③將Hello中對(duì)spring-core的依賴范圍修改為test,再到HelloFriend中檢查
④將Hello中對(duì)spring-core的依賴范圍修改為provided,再到HelloFriend中檢查
⑤結(jié)論:非compile范圍的依賴不能傳遞,必須在有需要的工程中單獨(dú)加入
7.測(cè)試依賴原則
①路徑最短者優(yōu)先
[1]在Hello中依賴log4j-1.2.17

log4j
log4j
1.2.17

[2]在HelloFriend中依賴log4j-1.2.14<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.14</version></dependency>[3]查看MakeFriends中自動(dòng)引入的log4j是哪個(gè)版本②路徑相同時(shí)先聲明者優(yōu)先[1]創(chuàng)建OurFriends工程,依賴log4j-1.2.17[2]讓MakeFriends依賴OurFriends[3]測(cè)試MakeFriends中,HelloFriend和OurFriends依賴的先后順序和引入的log4j版本之間的關(guān)系

8.創(chuàng)建Web工程
①ServletAPI依賴

javax.servlet
servlet-api
2.5
provided

②JSPAPI依賴

javax.servlet.jsp
jsp-api
2.1.3-b06
provided

9.Web工程自動(dòng)部署

AtguiguWeb


org.codehaus.cargo
cargo-maven2-plugin
1.2.3


tomcat6x
D:\DevInstall\apache-tomcat-6.0.39


existing
D:\DevInstall\apache-tomcat-6.0.39


<cargo.servlet.port>8989</cargo.servlet.port>





cargo-run
install

run






10.繼承
①創(chuàng)建Parent工程,打包方式為pom
②收集所有非compile范圍的依賴信息,使用dependencyManagement標(biāo)簽統(tǒng)一管理



junit
junit
4.9
test



③在各個(gè)子工程中引用父工程

com.atguigu.maven
Parent
0.0.1-SNAPSHOT

<!-- 以當(dāng)前文件為基準(zhǔn)查找父工程中pom.xml文件的相對(duì)路徑 --><relativePath>../Parent/pom.xml</relativePath></parent>④刪除子工程中的重復(fù)信息groupIdartifactid⑤在子工程中找到被父工程管理的依賴信息,刪除版本號(hào)部分⑥在父工程中統(tǒng)一修改已管理的依賴信息的版本號(hào),看是否能夠控制所有子工程

11.聚合
在總的聚合工程中加入如下信息

…/Hello
…/HelloFriend
…/MakeFriends

總結(jié)

以上是生活随笔為你收集整理的mevan 的常用命令和参数解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。