目錄
1 下載
2 安裝-windows為例
?3 配置環(huán)境變量
?3.1 JAVA_HOME
3.2 MAVEN_HOME
3.3 PATH
?3.4 驗證
4 MAVEN基礎(chǔ)概念
4.1 倉庫概念
4.2 坐標(biāo)概念
4.2.1 打開網(wǎng)址
?4.2.2 輸入搜索內(nèi)容junit
?4.2.3 找到對應(yīng)API名稱點擊
?4.2.4 點擊對應(yīng)版本
?4.2.5 復(fù)制MAVEN坐標(biāo)
4.3 配置本地倉庫
4.3.1 初始默認(rèn)倉庫
4.3.2 修改倉庫位置
4.4 遠(yuǎn)程默認(rèn)倉庫(了解)
?4.5?通過修改鏡像倉庫配置方式提速(必須)
?4.6 全局setting與用戶setting(了解)
5 MAVEN項目
5.1 手工創(chuàng)建工程
5.1.1 MAVEN工程目錄結(jié)構(gòu)
5.1.2 構(gòu)建命令
5.2 插件創(chuàng)建工程
?5.2.1 java工程
?5.2.2?web工程
5.3 IDEA創(chuàng)建工程
5.3.1 配置MAVEN
5.3.2 手工創(chuàng)建java項目
?5.3.2.1 編譯運行(方式一)
?5.3.2.2?編譯運行(方式二推薦)
5.3.3 原型創(chuàng)建java項目
5.3.4 原型創(chuàng)建web項目
5.3.5 插件
5.3.5.1 配置tomcat7
5.3.5.2?自定義tomcat7的端口
?5.3.5.3 做到配置
6 pom注釋說明
7 依賴管理
7.1 依賴配置
7.2 依賴傳遞
7.3 可選依賴
7.4 排除依賴
7.5 依賴范圍
8 生命周期與插件
8.1 生命周期
8.1.1?clean 生命周期
8.1.2?default生命周期
?8.1.3 site構(gòu)建生命周期
8.2 插件
前言:Apache Maven是一個(特別是Java編程)項目管理及自動構(gòu)建工具,由Apache軟件基金會所提供?;陧椖繉ο竽P?縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構(gòu)建、報告和文檔等步驟。本文是學(xué)習(xí)MAVEN的啟蒙
?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-634193.html
1 下載
打開 官方網(wǎng)址下載頁面? MAVEN下載鏈接網(wǎng)址
?
2 安裝-windows為例
新增文件夾develop,解壓下載的文件到當(dāng)前目錄
?3 配置環(huán)境變量
?3.1 JAVA_HOME
略
3.2 MAVEN_HOME
3.3 PATH
?
?3.4 驗證
# cmd 執(zhí)行
mvn
出現(xiàn)下圖
?
4 MAVEN基礎(chǔ)概念
4.1 倉庫概念
?
?
?
4.2 坐標(biāo)概念
?
?
4.2.1 打開網(wǎng)址
?https://mvnrepository.com
?4.2.2 輸入搜索內(nèi)容junit
?4.2.3 找到對應(yīng)API名稱點擊
?4.2.4 點擊對應(yīng)版本
?
?4.2.5 復(fù)制MAVEN坐標(biāo)
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
4.3 配置本地倉庫
4.3.1 初始默認(rèn)倉庫
在當(dāng)前登錄PC的用戶名目錄下有個.m2文件(前提得在cmd輸入mvn才會生成)
4.3.2 修改倉庫位置
1、在文件夾develop目錄下新建一個文件夾repository
2、打開目錄D:\develop\apache-maven-3.9.3\conf下的settings.xml
找到下圖位置進(jìn)行修改
3、修改到設(shè)置的倉庫新位置
4.4 遠(yuǎn)程默認(rèn)倉庫(了解)
?4.5?通過修改鏡像倉庫配置方式提速(必須)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
?4.6 全局setting與用戶setting(了解)
5 MAVEN項目
5.1 手工創(chuàng)建工程
5.1.1 MAVEN工程目錄結(jié)構(gòu)
1、基本目錄結(jié)構(gòu)純手工創(chuàng)建文件夾
2、在project\project-java\src\main\java\ 下創(chuàng)建 com\runa
3、在project\project-java\src\main\java\com\runa新建一個Demo.java文件
package com.runa;
public class Demo{
public String say(String name){
System.out.println("hello " + name);
return "hello " + name;
}
}
4、在project\project-java\src\test\java\ 下創(chuàng)建 com\runa
5、在project\project-java\src\test\java\com\runa新建一個DemoTest.java文件
package com.runa;
import org.junit.Test;
import org.junit.Assert;
public class DemoTest{
@Test
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven",ret);
}
}
?6、在project\project-java\下創(chuàng)建pom.xml(不要手寫)
在D:\develop\apache-maven-3.9.3\lib? 使用解壓文件隨便打開一個jar包,向上,點擊查找
?復(fù)制
粘貼到新建的pom.xml文件當(dāng)中去?
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.runa</groupId>
<artifactId>project-java</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
??
5.1.2 構(gòu)建命令
?在project\project-java\目錄下(pom.xml所在目錄)打開cmd
1、編譯?
mvn compile
?
?2、到maven倉庫查看新增了很多文件
?3、當(dāng)前目錄下多了target文件夾
?執(zhí)行下面命令可清理target文件夾(這里可暫時不執(zhí)行)
mvn clean
?4、測試
mvn test
?
?
? 執(zhí)行成功會新增文件
?5、打包
mvn package
在test-classes里面有jar包?
6、 安裝
mvn install
將打包的jar存儲到本地倉庫?
5.2 插件創(chuàng)建工程
?cmd進(jìn)到此目錄
?5.2.1 java工程
mvn archetype:generate -DgroupId=com.runa -DartifactId=hellojava -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false
?
?
?5.2.2?web工程
mvn archetype:generate -DgroupId=com.runa -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false
?
?
?
5.3 IDEA創(chuàng)建工程
5.3.1 配置MAVEN
1、創(chuàng)建一個空的項目
?
2、 修改sdk版本?
?idea-file-project?struct進(jìn)入文件結(jié)構(gòu)---project ?---project sdk:[選擇你需要切換的版本]【如果沒有需要的版本,需要在下面】【Platform Settings】-SDKs 中添加相應(yīng)的版本
?3、修改maven版本
Settings->Build ->Build tools - > maven
4、修改setting.xml配置?
?
5.3.2 手工創(chuàng)建java項目
?創(chuàng)建模塊
??pom.xml添加依賴
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
為test添加package com.runa
?
?
?上圖test下的resources是通過手工添加文件夾的類型變更也可通過這個方式改:
?或者到這里加?file-project?struct進(jìn)入文件結(jié)構(gòu)---modules
???
package com.runa;
public class Demo {
public String say(String name){
System.out.println("hello " + name);
return "hello " + name;
}
}
package com.runa;
import junit.framework.Assert;
public class DemoTest {
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven", ret);
}
}
?
?5.3.2.1 編譯運行(方式一)
點擊右側(cè)的MAVEN--->Lifecycle? 可執(zhí)行編譯測試等命令
?
?5.3.2.2?編譯運行(方式二推薦)
?創(chuàng)建編譯
?可繼續(xù)再創(chuàng)建clean,區(qū)別在Run 那里
5.3.3 原型創(chuàng)建java項目
上圖2個箭頭是手動創(chuàng)建哪個文件夾自動生成對應(yīng)類型的(我的idea是2023-01版本)?
5.3.4 原型創(chuàng)建web項目
?
?
?
?
5.3.5 插件
5.3.5.1 配置tomcat7
?到坐標(biāo)庫搜索tomcat插件
?
?
?目前maven3.8.8支持下圖 3.9.3不行
?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>
<groupId>com.runa</groupId>
<artifactId>web01</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 構(gòu)建 -->
<build>
<!-- 設(shè)置插件 -->
<plugins>
<!-- 具體插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</build>
</project>
?查看插件,如果沒有出現(xiàn)點擊那個刷新
?點擊運行上圖箭頭
?
?上面地址可直接訪問
5.3.5.2?自定義tomcat7的端口
<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>
<groupId>com.runa</groupId>
<artifactId>web01</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 構(gòu)建 -->
<build>
<!-- 設(shè)置插件 -->
<plugins>
<!-- 具體插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
?5.3.5.3 做到配置
?
?
6 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/maven-v4_0_0.xsd">
<!-- 指定pom的模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 打包方式, web工程打包未war java工程打包未jar -->
<packaging>war</packaging>
<!-- 組織id -->
<groupId>com.runa</groupId>
<!-- 項目id 一般項目名稱 -->
<artifactId>web01</artifactId>
<!-- 版本號release(完成版) snapshot (開發(fā)版) -->
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 設(shè)置工程所有依賴 -->
<dependencies>
<!-- 具體依賴 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 構(gòu)建 -->
<build>
<!-- 設(shè)置插件 -->
<plugins>
<!-- 具體插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
7 依賴管理
7.1 依賴配置
?
7.2 依賴傳遞
將項目web01配置到j(luò)ava02的pom.xml
?
?
?
7.3 可選依賴
?
7.4 排除依賴
?選擇你的項目依賴位置
?
?
7.5 依賴范圍
?
?
8 生命周期與插件
8.1 生命周期
?
?
8.1.1?clean 生命周期
?
8.1.2?default生命周期
?8.1.3 site構(gòu)建生命周期
8.2 插件
?上官網(wǎng)
?
?build部分,注意打的是test,
<?xml version="1.0" encoding="UTF-8"?>
<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>com.runa</groupId>
<artifactId>java01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
<!-- 構(gòu)建 -->
<build>
<!-- 設(shè)置插件 -->
<plugins>
<!-- 具體插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
文章來源:http://www.zghlxwxcb.cn/news/detail-634193.html
?
到了這里,關(guān)于【java】【maven】【基礎(chǔ)】MAVEN安裝配置介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!