在公司参与的项目是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 -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /Users/Sophie/IdeaProjects/apache-maven-3.5.2
Java version: 1.8.0, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS 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/MavenTryOut
Sophie-mbp:MavenTryOut Sophie$ ls
1.0-SNAPSHOT maven-metadata-local.xml
Sophie-mbp:MavenTryOut Sophie$ cd 1.0-SNAPSHOT/
Sophie-mbp:1.0-SNAPSHOT Sophie$ ls
MavenTryOut-1.0-SNAPSHOT.jar _remote.repositories
MavenTryOut-1.0-SNAPSHOT.pom maven-metadata-local.xml
以上这些命令,其实在Idea IDE里都有菜单与之对应。
View > Tool Windows > Maven Projects
不过,site 和 deploy没用过,不懂它们是做甚的…
╮(╯_╰)╭