在公司參與的項目是windows下的eclipse + maven. 想在自己的電腦上玩一下maven,所以以下是在Mac + Idea下搭建Maven項目的過程。
首先是安裝Maven:
1. 從Apache網站上下載最新版本的Maven: https://maven.apache.org/download.cgi ,mac下下載.tar.gz
2. 解壓縮後,將檔案夾放置於合適的目錄下,e.g. /Users/Sophie/IdeaProjects/apache-maven-3.5.2
3. 配置PATH,將maven bin folder加入到PATH裡面,首先echo $PATH,然後將maven bin folder路徑加進去,用:跟前一個路徑分隔開
Sophie-mbp:/ Sophie$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
Sophie-mbp:/ Sophie$ PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Sophie/IdeaProjects/apache-maven-3.5.2/bin
Sophie-mbp:/ Sophie$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Sophie/IdeaProjects/apache-maven-3.5.2/bin
4. mvn -v驗證是否正常工作
Sophie-mbp:/ Sophie$ mvn -vApache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)Maven home: /Users/Sophie/IdeaProjects/apache-maven-3.5.2Java version: 1.8.0, vendor: Oracle CorporationJava home: /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jreDefault locale: zh_CN, platform encoding: UTF-8OS name: "mac os x", version: "10.13.2", arch: "x86_64", family: "mac"
然後在Idea裡建立Maven項目: Idea > File > New > Project… 左側邊欄選擇Maven,點擊Next 填寫GroupID(按照慣例,填公司/組織的網域名稱),ArtifactID(即將來打包成JAR/WAR的名字),點擊Next 填寫Project Name,點擊Finish
Idea會自動在項目根目錄下建立pom.xml檔案
<?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>ssophie.com</groupId> <artifactId>MavenTryOut</artifactId> <version>1.0-SNAPSHOT</version></project>
這時可以往project節點下添加一些別的節點,例如:
<packaging>jar</packaging>
它表示將來打包成jar檔案。
為項目添加點簡單的代碼,比如在main裡寫一行列印輸出。
接下來,在terminal裡cd到項目根目錄。用maven編譯項目
Sophie-mbp:MavenTryOut Sophie$ mvn compile
這時,{項目根目錄}/target/classes/{Package名}/下應該有.class檔案產生。再次回到項目根目錄下,運行打包命令,.jar檔案會產生在target目錄下。
Sophie-mbp:MavenTryOut Sophie$ mvn package
如果想要把自己項目的jar檔案加入到local repository裡面去的話,在項目根目錄運行mvn install
Sophie-mbp:MavenTryOut Sophie$ mvn install
命令運行時有兩行Info輸出如下,它就是將項目的jar檔案和pom.xml安裝到maven的repo裡面,將來就可以供別的項目引用了。
[INFO] Installing /Users/Sophie/IdeaProjects/MavenTryOut/target/MavenTryOut-1.0-SNAPSHOT.jar to /Users/Sophie/.m2/repository/ssophie/com/MavenTryOut/1.0-SNAPSHOT/MavenTryOut-1.0-SNAPSHOT.jar[INFO] Installing /Users/Sophie/IdeaProjects/MavenTryOut/pom.xml to /Users/Sophie/.m2/repository/ssophie/com/MavenTryOut/1.0-SNAPSHOT/MavenTryOut-1.0-SNAPSHOT.pom
.m2路徑預設是隱藏的,如果想要在仿達介面裡顯示它,可以Command + Shift + . (顯示和隱藏都是這個快速鍵)
以下是驗證,項目的jar檔案是否被加入到maven local repo路徑裡:
Sophie-mbp:MavenTryOut Sophie$ pwd/Users/Sophie/.m2/repository/ssophie/com/MavenTryOutSophie-mbp:MavenTryOut Sophie$ ls1.0-SNAPSHOT maven-metadata-local.xmlSophie-mbp:MavenTryOut Sophie$ cd 1.0-SNAPSHOT/Sophie-mbp:1.0-SNAPSHOT Sophie$ lsMavenTryOut-1.0-SNAPSHOT.jar _remote.repositoriesMavenTryOut-1.0-SNAPSHOT.pom maven-metadata-local.xml
以上這些命令,其實在Idea IDE裡都有菜單與之對應。
View > Tool Windows > Maven Projects
不過,site 和 deploy沒用過,不懂它們是做甚的…
╮(╯_╰)╭