Maven基礎:Maven環境搭建及基本使用(1)

libingql發表於2017-06-25

1. Maven環境搭建

1.1 Maven簡介

 

1.2 Maven下載及環境設定

  Maven下載地址http://maven.apache.org/download.cgi

  當前下載版本:apache-maven-3.5.0-bin.zip,解壓之後路徑 D:\Program Files\apache-maven-3.5.0

  Maven環境變數設定

  注:設定Maven環境變數之前,需先設定JAVA_HOME系統變數,參考 Java基礎:Java簡介及安裝配置(1)

  (1)新增系統變數【MAVEN_HOME】,值:D:\Program Files\apache-maven-3.5.0

  (2)系統變數【Path】追加值: %MAVEN_HOME%\bin

  (3)執行cmd,檢查是否配置成功。

mvn -version

1.3 Eclipse設定Maven Repository

  選擇選單:Window -> Maven -> User Settings

  設定值:maven安裝路徑

1.4 本地倉儲配置

  本地倉儲配置檔案:D:\Program Files\apache-maven-3.5.0\conf\settings.xml

  修改配置:

  找到以下部分程式碼,本地倉儲預設配置為 ${user.home}/.m2/repository。

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->

  修改本地倉儲,儲存路徑 D:\Program Files\apache-maven-3.5.0\repository

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Program Files\apache-maven-3.5.0\repository</localRepository>

1.5 Maven設定阿里雲倉儲

<mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

1.6 設定預設JDK

  方式一:專案pom.xml檔案中設定

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
	</plugins>
</build>

  方式二:在Maven的settings.xml檔案中設定

<profile>
    <id>jdk-1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
	<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

2. Maven基本操作

2.1 Maven專案約定目錄

MavenProjectRoot

|----src

|    |----main

|    |    |----java —— 存放專案的.java檔案

|    |    |----resource —— 存放專案資原始檔,如spring, hibernate配置檔案

|    |----test

|    |    |----java —— 存放所有測試.java檔案,如JUnit測試類

|    |    |----resource —— 存放專案資原始檔,如spring, hibernate配置檔案

|----target —— 專案輸出位置

|----pom.xml —— 用於標識該專案是一個Maven專案

2.2 建立Maven專案

  (1)生成專案

mvn archetype:generate
Define value for property 'groupId': libing
Define value for property 'artifactId': com-test-api
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' libing: : com.libing.test
Confirm properties configuration:
groupId: libing
artifactId: com-test-api
version: 1.0-SNAPSHOT
package: com.libing.test

  檢視專案生成目錄:

cd /d F:\workspace\com-test-api
F:\workspace\com-test-api>tree
資料夾 PATH 列表
卷序列號為 0000002C 962B:5AD5
F:.
└─src
    ├─main
    │  └─java
    │      └─com
    │          └─libing
    │              └─test
    └─test
        └─java
            └─com
                └─libing
                    └─test

  建立時指定型別:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate -DgroupId=libing -DartifactId=libing-test-api -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate -DgroupId=libing -DartifactId=libing-test-api -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

  (2)編譯專案

F:\workspace\com-test-api>mvn compile

  完成編譯後,生成target資料夾及編譯檔案。

F:\workspace\com-test-api>tree
資料夾 PATH 列表
卷序列號為 0000005E 962B:5AD5
F:.
├─src
│  ├─main
│  │  └─java
│  │      └─com
│  │          └─libing
│  │              └─test
│  └─test
│      └─java
│          └─com
│              └─libing
│                  └─test
└─target
    ├─classes
    │  └─com
    │      └─libing
    │          └─test
    └─maven-status
        └─maven-compiler-plugin
            └─compile
                └─default-compile

  (3)打包專案

F:\workspace\com-test-api>mvn package

  打包完成之後,在F:\workspace\com-test-api\target中生成com-test-api-1.0-SNAPSHOT.jar。

相關文章