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

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。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281690.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281690.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281690.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql主外鍵引用關系,關于mysql:數據主/外鍵關系

我想對于那些已經開發了許多數據庫模式的人來說&#xff0c;這將是一個簡單的答案&#xff0c;但是我最近發現自己承擔了優化(或嘗試優化)數據庫模式的任務&#xff0c;并且一直在閱讀"高性能MySQL"&#xff0c;并且剩下一個關于在模式中使用或"過度使用"外…

解讀微軟開源MMLSpark:統一的大規模機器學習生態系統

AI前線導讀&#xff1a;目前&#xff0c;有很多深度學習框架支持與Spark集成&#xff0c;如Tensorflow on Spark等。然而&#xff0c;微軟開源的MMLSpark不僅集成了機器學習框架&#xff08;CNTK深度學習計算框架、LightGBM機器學習框架&#xff09;&#xff0c;還可以將這些計…

floyd判環算法(龜兔賽跑算法)

floyd判環算法&#xff08;龜兔賽跑算法&#xff09; 注意&#xff0c;這個算法是用來判斷一條鏈一條環的圖&#xff0c;環的長度或者環與鏈的交界處的&#xff0c;所以此floyd非彼floyd&#xff08;雖然都是一個人想出來的&#xff09;。 &#xff08;圖不是我的&#xff09; …

一個redis的連接庫的實現

2019獨角獸企業重金招聘Python工程師標準>>> import socketdef format_message( args):"""Create redis message:param args:Message data"""l u"*%d" % len(args)lines [l.encode(utf-8)]for arg in args:if not isinst…

matlab 邊緣檢測不閉合,Matlab多種圖像邊緣檢測方法

1、用Prewitt算子檢測圖像的邊緣I imread(bacteria.BMP);BW1 edge(I,prewitt,0.04); % 0.04為梯度閾值figure(1);imshow(I);figure(2);imshow(BW1);2、用不同σ值的LoG算子檢測圖像的邊緣I imread(bacteria.BMP);BW1 edge(I,log,0.003); % σ2imshow(BW1);titl…

實現CSS在線美化(格式化)、壓縮、加密、解密、混淆工具-toolfk程序員工具網

本文要推薦的[ToolFk]是一款程序員經常使用的線上免費測試工具箱&#xff0c;ToolFk 特色是專注于程序員日常的開發工具&#xff0c;不用安裝任何軟件&#xff0c;只要把內容貼上按一個執行按鈕,就能獲取到想要的內容結果。ToolFk還支持 BarCode條形碼在線生成、 QueryList采集…

只是他給的實在太多了!

工作幾年后&#xff0c;總是會問自己一個問題&#xff0c;工作的意義是什么&#xff1f;這個如果要在網絡上尋找答案&#xff0c;那一定是多如牛毛&#xff0c;每一個人都有一套自己的看法。在一開始出入社會工作之時&#xff0c;我并沒有意識到這個問題&#xff0c;更沒有思考…

[ci]jenkins server啟動,通過jnlp的方式啟動slave(容器模式)

jenkins server啟動,通過jnlp的方式啟動slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置項目 執行成功 轉載于:https://www.cnblogs.com/iiiiher/p/7978831.html

Oracle 中UNDO與REDO的差別具體解釋

一 為了更清楚的看出2者差別&#xff0c;請看下表&#xff1a; UNDO REDO Record ofHow to undo a changeHow to reproduce a changeUsed forRollback, Read-ConsistencyRolling forward DB ChangesStored …

php實現文件留言,PHP文件操作及實例:留言板

一、文件操作函數1.創建文件&#xff1a;touch(./xxx.php);bool touch ( string $filename [, int $time time() [, int $atime ]] )2.復制文件&#xff1a;copy(./xxx.php,./yyy.php);3.移動或重命名&#xff1a;rename(./xxx.php,./yyy.php);4.刪除文件&#xff1a;unlink(.…

WPF-11 路由事件之一

什么是路由事件&#xff1f;我們從兩個維度來理解路由事件&#xff1a;功能的角度來看&#xff0c;路由事件是一種事件類型&#xff0c;不僅僅可以在事件源上處理事件響應&#xff0c;還可以在元素樹的多個偵聽器上處理事件響應(事件偵聽器是附加和調用事件處理程序的元素。事件…

個人總結的一個中高級Java開發工程師或架構師需要掌握的一些技能...

近三年&#xff0c;其實都是在做一個項目&#xff0c;項目是一個大型的多節點部署的項目&#xff0c;做了好幾個版本&#xff0c;中間用到了很多技術和框架&#xff0c; 也用了一些管理工具和敏捷實踐。我這里不是來說項目的&#xff0c;因為最近看了一些招聘信息&#xff0c;結…

Android 進程常駐(5)----開機廣播的簡單守護以及總結

這是一個輕量級的庫&#xff0c;配置幾行代碼。就能夠實如今android上實現進程常駐&#xff0c;也就是在系統強殺下&#xff0c;以及360獲取root權限下。clean master獲取root權限下都無法殺死進程 支持系統2.3到6.0 支持大部分設備&#xff0c;包含三星。華為。oppo&#xff0…

[k8s]metricbeat的kubernetes模塊kube-metric模塊

正確姿勢啟動metricbeat metricbeat.modules: - module: systemmetricsets:- cpu- filesystem- memory- network- processenabled: trueperiod: 10sprocesses: [.*]cpu_ticks: falseoutput.elasticsearch:hosts: ["http://192.168.x.x:9200"]setup.template.name: &q…

如何為 Task 添加超時功能

前言假設有如下代碼&#xff0c;功能是首先從緩存獲取數據&#xff0c;如果沒有命中緩存&#xff0c;則直接從數據庫獲取&#xff1a;var data await GetFromCache(); if (data is null) {data await GetFromDB(); }對于獲取緩存數據&#xff0c;我們需要限制一下GetFromCach…

php 隨機指定位數,php生成一個可選位數的隨機碼

echo coding(6);function coding($num){$str_arr array(‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘…

Animate與transform的使用

Animate是用css給前端加載動畫的效果&#xff1a; 網址&#xff1a;https://daneden.github.io/animate.css/ <!DOCTYPE html> <html lang"en"> <head><link rel"stylesheet" href"static/css/Animate.css"><meta ch…

angular中的cookies與cookieStore區別

設置cookie用put()方法: $cookies.put(key, value[, options]); $cookieStore.put(key, value); 例如設置一個cookie&#xff0c;名為“userName”&#xff0c;值為“yangmin”&#xff1a; //使用$cookies設置cookie $cookies.put(userName, yangmin); //使用$cookieStore設置…

ASP.NET Core 6框架揭秘實例演示[29]:搭建文件服務器

通過HTTP請求獲取的Web資源很多都來源于存儲在服務器磁盤上的靜態文件。對于ASP.NET應用來說&#xff0c;如果將靜態文件存儲到約定的目錄下&#xff0c;絕大部分文件類型都是可以通過Web的形式對外發布的。“Microsoft.AspNetCore.StaticFiles” 這個NuGet包中提供了三個用來處…

js 棧(進制轉換)

<!DOCTYPE html>Documentposted 2017-12-07 19:33 mysure 閱讀(...) 評論(...) 編輯 收藏 刷新評論刷新頁面返回頂部轉載于:https://www.cnblogs.com/ar13/p/8000718.html