Maven 是什么
Maven 是 Java平臺的構(gòu)建管理,依賴管理和項(xiàng)目信息管理的工具. 相當(dāng)于 PHP 的 Composer , Nodejs 的 npm , Objective-C 的 cocoapods .
安裝
請自行百度,這里不再贅述.
全局設(shè)置最佳實(shí)踐
修改 Maven 的全局設(shè)置的時(shí)候,最好不要直接修改 Maven 安裝目錄下的 conf/settings.xml(Linux 下默認(rèn)路徑為 /etc/maven/settings.xml , Mac 下默認(rèn)路徑為 /usr/local/Cellar/maven/{你的 maven 版本號}/libexec/conf/settings.xml) , 而是將 settings.xml 復(fù)制到 ~/.m2/ 下再進(jìn)行修改
加速
因?yàn)?Maven 默認(rèn)使用的是國外鏡像, 導(dǎo)致國內(nèi)訪問速度比較慢, 可以使用國內(nèi)的鏡像來進(jìn)行加速,設(shè)置方式如下:
- 復(fù)制 Maven 目錄下的 conf 文件夾下的 settings.xml 到 ~/.m2/ 下
- 編輯 settings.xml,在<settings><mirrors></mirrors></settings>內(nèi)的內(nèi)容改為
( PS: url標(biāo)簽 中的路徑可能會(huì)失效,如果失效請自行百度查找最近可用資源.)
<mirror>
<id>nexus-local</id>
<mirrorOf>central</mirrorOf>
<name>local</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
Maven 的 Hello world
創(chuàng)建項(xiàng)目目錄HelloWorld
-
在項(xiàng)目目錄中創(chuàng)建 pom.xml (project Object Model : 項(xiàng)目對象模型)文件,內(nèi)容如下
<?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.example</groupId> <artifactId>hello-world</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello world</name> <description>Hello world</description> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
-
編寫 java 文件
package com.example;public class HelloWorld{ public String sayHello(){ return "Hello world"; } public static void main(String[] args){ System.out.println(new HelloWorld().sayHello()); } }
編譯
mvn package運(yùn)行
java -jar target/hello-world-0.0.1-SNAPSHOT.jar