網頁

2014年3月22日 星期六

Maven使用Eclipse導入Library

隨著專案的開發,需要使用的Open Source Library會越來越多,而各版本衝突的問題更是屢見不鮮,因此需要個良好的管理方式,來解決這類的問題。


Maven提供了便利的方式,來輔助我們開發系統,pom.xml(Project Object Model),可以讓我們方便設定,在每個<dependency>中要設定的哪些Group Id,Artifact Id等,都可以在 http://mvnrepository.com/ 搜尋,找到後複製貼上到pom.xml即可,很方便就能導入Library





Mix以Apache Commons Lang為例,使用Eclipse,導入LibraryMaven的Java專案中。

  1. 官網搜尋,打上你要導入的Library名稱
  2. 找到後會出現在搜尋列下方。
  3. 點選你要的版本,可以選最後release的版本,若有版本衝突,之後還能在pom.xml上直接打版號重新下載。
  4. 複製代碼,貼到pom.xml中 <dependencies>標籤內。












然後在專案上,點右鍵,Build Project,就會自動下載Library,預設是C:\Users\xxx\.m2\repository
目錄下,已經下載過的就依照你本地repository內所提供來使用,當本地找不到時才會從官網重新下載。

可修改Mavan使用者設定檔,可以在Eclipse -> Preferences -> Maven -> User Settings,找到settings.xml。

開啟settings.xml後,找到<localRepository>標籤,可以改成你想要存放的目錄位置。






pom.xml

<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>org.openyu</groupId>
 <artifactId>java</artifactId>
 <version>1.7.1</version>
 <packaging>jar</packaging>

 <name>java</name>
 <url>http://java.openyu.org</url>

 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>

 <dependencies>
  <dependency>
   <groupId>commons-lang</groupId>
   <artifactId>commons-lang</artifactId>
   <version>2.6</version>
  </dependency>
 </dependencies>
</project>


Mix成功地導入,可以在Project -> Properties -> Java Build -> Libraries查看到。






Mix撰寫一些測試程式碼,來測試導入的Library是否有功能。


package org.openyu.java.commons.lang;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.junit.Test;

public class ToStringBuilderTest {

 @Test
 public void toStringz() {
  String result = new ToStringBuilder(this)
    .append("id", 1)
    .append("name", "OpenYu").toString();
  System.out.println(result);
 }
}



console查看其結果。

org.openyu.java.commons.lang.ToStringBuilderTest@5220be79[id=1,name=OpenYu]



沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...