mevan 的常用命令和参数解释
簡介
Maven是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
Maven 有一個生命周期,當你運行 mvn install 的時候被調用。這條命令告訴 Maven 執行一系列的有序的步驟,直到到達你指定的生命周期。遍歷生命周期旅途中的一個影響就是,Maven 運行了許多默認的插件目標,這些目標完成了像編譯和創建一個 JAR 文件這樣的工作。
后來遇到的錯誤
當文件pom文件第一行 錯誤
==org.apache.maven.plugin.war.WarMojo ==
解決方法
mevan常用命令
mvn archetype:generate 創建Maven項目mvn compile 編譯源代碼
mvn deploy 發布項目
mvn test-compile 編譯測試源代碼
mvn test 運行應用程序中的單元測試
mvn site 生成項目相關信息的網站
mvn clean 清除項目目錄中的生成結果
mvn package 根據項目生成的jar
mvn install 在本地Repository中安裝jar
mvn eclipse:eclipse 生成eclipse項目文件
mvnjetty:run 啟動jetty服務
mvntomcat:run 啟動tomcat服務
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳過測試類
mevan工程結構
工程名-> src->main (放運行文件)->java(放java文件)->resources(放入外部資源文件)-> test(放測試文件)為啥遵守meavan的工程結構
mevan負責構建這個項目的自動化構建 他必須知道java源文件在哪里
我們自己自定義的東西明確要讓mevan知道
用配置的方法明確告訴框架你
遵守框架內部的約定
依賴
依賴的傳遞性
好處可以傳遞的依賴不比在每個模塊中都重復聲明 在最下面的 工程添加一個依賴就行了
注意 非 compile范圍的依賴不可以傳遞 所以在各個工程模塊中需要一個個聲明
依賴的排除(通常是自動導入的依賴jar 包 他不是穩定版本我們工程不想用它)
依賴的原則
1 就近者有限 傳遞的越近越優先
2通距離這 先聲明的優先
統一管理依賴
1 手動配置
2使用properties 配置參數
讀取參數
繼承
①創建Parent工程,打包方式為pom
②收集所有非compile范圍的依賴信息,使用dependencyManagement標簽統一管理
③在各個子工程中引用父工程
<parent><groupId>com.atguigu.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><!-- 以當前文件為基準查找父工程中pom.xml文件的相對路徑 --><relativePath>../Parent/pom.xml</relativePath></parent>④刪除子工程中的重復信息
groupId
artifactid
⑤在子工程中找到被父工程管理的依賴信息,刪除版本號部分
⑥在父工程中統一修改已管理的依賴信息的版好、版本號,看是否能夠控制所有子工程
.聚合
在總的聚合工程中加入如下信息 這個聚合工程可以在父類
<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環境變量
C:\Windows\System32>echo %JAVA_HOME%
D:\DevInstall\jdk1.7.0_07
②解壓Maven的核心程序
將apache-maven-3.2.2-bin.zip解壓到一個非中文無空格的目錄下。例如:D:\DevInstall\apache-maven-3.2.2
③配置環境變量
M2_HOME D:\DevInstall\apache-maven-3.2.2
path D:\DevInstall\apache-maven-3.2.2\bin
④查看Maven版本信息驗證安裝是否正確
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.修改本地倉庫
①默認本地倉庫位置:~.m2\repository
~表示當前用戶的家目錄,例如:C:\Users[你當前登錄系統的用戶名]
②指定本地倉庫位置的配置信息文件:apache-maven-3.2.2\conf\settings.xml
③在根標簽settings下添加如下內容:[本地倉庫路徑,也就是RepMaven.zip的解壓目錄]
3.第一個Maven工程
①目錄結構
Hello
|—src
|—|---main
|—|---|—java
|—|---|—resources
|—|---test
|—|---|—java
|—|---|—resources
|—pom.xml
5.第三個Maven工程
①設置通過Maven創建的工程的JDK版本——一勞永逸
[1]打開settings.xml文件
[2]找到profiles標簽
[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>
②工程坐標
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(“litingwei”);
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(“litingwei”);
assertEquals(“Hey,John make a friend please.”,str);
}
}
⑤添加依賴信息
junit
junit
4.9
test
com.atguigu.maven
HelloFriend
0.0.1-SNAPSHOT
jar
compile
⑥在Eclipse環境下執行Maven命令:右擊pom.xml選擇run as 中的命令執行即可
6.測試依賴的范圍對傳遞性的影響
①在Hello中添加對spring-core的依賴
org.springframework
spring-core
4.0.0.RELEASE
compile
②在HelloFriend中查看spring-core是否被加入了運行時環境
③將Hello中對spring-core的依賴范圍修改為test,再到HelloFriend中檢查
④將Hello中對spring-core的依賴范圍修改為provided,再到HelloFriend中檢查
⑤結論:非compile范圍的依賴不能傳遞,必須在有需要的工程中單獨加入
7.測試依賴原則
①路徑最短者優先
[1]在Hello中依賴log4j-1.2.17
log4j
log4j
1.2.17
8.創建Web工程
①ServletAPI依賴
javax.servlet
servlet-api
2.5
provided
②JSPAPI依賴
javax.servlet.jsp
jsp-api
2.1.3-b06
provided
9.Web工程自動部署
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.繼承
①創建Parent工程,打包方式為pom
②收集所有非compile范圍的依賴信息,使用dependencyManagement標簽統一管理
junit
junit
4.9
test
③在各個子工程中引用父工程
com.atguigu.maven
Parent
0.0.1-SNAPSHOT
11.聚合
在總的聚合工程中加入如下信息
…/Hello
…/HelloFriend
…/MakeFriends
總結
以上是生活随笔為你收集整理的mevan 的常用命令和参数解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第6天:分割处理与中断处理
- 下一篇: 数据导入与预处理实验二---json格式