MAVEN常用命令+基本配置詳解
在linux上使用maven也需要像使用java一樣設定環境變數 這是
export M2_HOME = /?
export PATH = $PATH:$M2_HOME/bin
export MAVEN_OPTS = -Xms256m -Xmx512m
關於myeclipse中的內嵌maven的替換.路徑是 Windows-->Preferences-->Maven-->右邊點選add進行替換
------------------------------------一般常用命令----------------------------------------
mvn help:system 自動在本使用者下建立 ~/.m2/repository
mvn clean compile 清理編譯
mvn clean test 清理測試
mvn clean package 清理打包
mvn clean install 清理將打包好的jar存入 本地倉庫 注意是本地倉庫
mvn archetype:generate 使用Archetype生成專案骨架
mvn clean deploy 根據pom中的配置資訊將專案釋出到遠端倉庫中
------------------------------------一般常用命令----------------------------------------
---------------------------------maven目錄結構----------------------------------------
src/main/java :正式內容包路徑
src/mian/resources :正式的配置檔案路徑
src/test/java :測試包路徑
src/test/resources :測試的配置檔案路徑
src/main/webapp : war 資源目錄
---------------------------------maven目錄結構----------------------------------------
----------------------------優化依賴命令-----------------------------------------------
mvn dependency:list 顯示所有已經解析的所有依賴
mvn dependency:tree 以目錄樹的形式展現依賴, 最高層為一層依賴 其次二層依賴 三層依賴....
mvn dependency:analyze 第一部分顯示 已經使用但是未顯示依賴的的 第二部分顯示專案未使用的但是依賴的
----------------------------優化依賴命令-----------------------------------------------
構件: jar 外掛 war 所有依賴的jar
構建:編譯 測試 打包 釋出
---------------------------關於 maven的生命週期 和外掛 關係---------------------
生命週期就是介面:表明要幹什麼事情
外掛就是具體的實現:表明怎麼幹這件事情
---------------------------關於 maven的生命週期 和外掛 關係---------------------
聚合,繼承,整合測試,自動化部署,(這幾塊非常重要 自己去瞅瞅吧)
如下是pom.xml檔案的常用配置
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- 固定值在MAVEN3中-->
<groupId>cuiyaonan2000</groupId> <!-- 所屬於的組 -->
<artifactId>maven</artifactId> <!-- 唯一標示 -->
<version>0.0.1-SNAPSHOT</version> <!-- 版本號 -->
<packaging>war</packaging> <!-- 專案的打包方式,預設使用jar -->
<name>maven專案模板的基本使用</name>
<description> 這裡的描述不知道是幹嗎用</description>
<properties>
<springframework.version>2.5.6</springframework.verson>
<!-- 歸類依賴 只需在 <version>${springframework.version}</version> 使用就可以了-->
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<!-- <type>依賴的型別,大部分情況下不必宣告 預設是jar</type> -->
<scope>test</scope> <!-- 依賴範圍 傳遞性依賴 詳見p63 -->
<!-- <optional>標記依賴是否可選 不明白 該處的值是 true 和 false 詳見p66</optional> -->
<!--
<exclusions>
<exclusion>
排除傳遞性依賴 只需列出如下的2項就可以了
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
-->
</dependency>
</dependencies>
<build>
<plugins>
<!-- 設定這個外掛的對應java版本,貌似是為了解決一個歷史問題-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<!-- 如下使用UTF-8 處理資原始檔 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<!-- 配置遠端版本倉庫 -->
<repositories>
<!-- 設定遠端版本庫 直接收發布版本 不接受快照版本-->
<repository>
<id>jboss</id> <!-- 如果是用central 就會覆蓋中央倉庫 -->
<name>JBoss Repository</name>
<url>http://repository.jboss.com/maven2/</url>
<release>
<enabled>true</enabled>
<!-- 如下的2個引數詳見p83
<updatePolicy>daily</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
-->
</release>
<snapshots>
<enabled>false</enabled>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
<!-- 將該專案 釋出到遠端倉庫中 -->
<distributionManagement>
<repository>
<id>proj-release</id> <!-- 這裡的id是為了 跟setting.xml中的 username 和 userpassword 的id匹配,有的倉庫需要許可權賬戶-->
<name>Proj Release Repository</name>
<url>http://192.168.89.130</url>
</repository>
<snapshotRepository>
<id>proj-release</id>
<name>Proj Release Repository</name>
<url>http://192.168.89.130</url>
</snapshotRepository>
</distributionManagement>
</build>
</project>