我寫這個入門系列只是想給那些「Maven是什麼」的學弟和學妹們一個快速入門的幫助,爲了記念曾經也走了不少彎路的本身,即便本身也還有很長的路在前面。因此,各路神仙就不要說什麼太基礎之類的話吧,有那個時間陪陪老爸老媽、哄哄妹子、玩兩局dota也比在網上噴人強。java
有了以前的幾個blog,那麼在實際開發中maven是幫助咱們的呢。apache
最大的幫助,就是當咱們須要一個第三方組件和框架時,我不須要再各類官網和論壇內找各類各樣的jar了。有時候組件之間可能存在依賴,致使咱們時常遺漏。(本文出自:http://my.oschina.net/u/1156339/blog/399311)瀏覽器
下面我舉個例子。好比我如今想編寫一個反射程序,用來修改Person類的屬性值。我想利用beantuils來操做這一切。app
平時,我必定會打開瀏覽器,到apache的官網去尋找beanutils的下載連接。但這已經成爲過去。框架
如今我須要作的是,經過STS的Maven組件來管理項目中須要的資源。我只須要將beantils的GVA座標,好吧,也許仍是需到Maven Repo中央倉庫去搜索這個GVA,而後把它提供的dependency複製到項目的POM.xmlmaven
<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.happyBKs.Maven</groupId> <artifactId>beango</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>beango</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> </dependency> </dependencies> </project>
以後,一切都會下載好的,不須要咱們操心。就連beanutils須要的common-logging也一塊兒下載了。(平時我時常忘記導入這個common-logging,如今已經不須要擔憂了)ui
以後我創建一個Person類
this
package com.happyBKs.Maven.beango; public class Person { public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } String name; int age; }
而後我就在App類的main裏運行了吧,就不用junit了,你們懂得天然懂。url
package com.happyBKs.Maven.beango; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import org.apache.commons.beanutils.BeanUtils; /** * Hello world! * */ public class App { public static void main( String[] args ) { try { extracted(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void extracted() throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { Class c1=Class.forName("com.happyBKs.Maven.beango.Person"); Constructor con= c1.getConstructor(); Person sw=(Person) con.newInstance(); BeanUtils.setProperty(sw, "name", "sword"); BeanUtils.setProperty(sw, "age", 1); System.out.println(sw.getAge()); System.out.println( "Hello World!" ); } }
運行結果以下:spa
1
Hello World!
這正體現了Maven的核心:依賴管理、倉庫、約定優於配置。
好吧,基礎吧。但我想經過這幾篇文章,小白們至少知道了Maven大概是怎麼回事。那麼入門篇就這麼再見吧!happyBKs和你們一塊兒加油!