Maven果真是Configuration Manager版的Ruby on Rails,現在的Struts 2要用到Hibernate提供的JPA套件怎麼處理?Maven有個預設的repository,就是http://repo1.maven.org/maven2,雖是集大成的儲藏庫卻不是集大全的儲藏庫(大成和大全的差異只是文字遊戲^^)。以前寫的JPA初體驗有表示它是個規格,由各家廠商實作,是故本例除了預設的repository外,再新增JBoss的儲藏庫,由它提供Hibernate相關套件。在pom.xml新增內容如下:

<project> …

<repositories>
    <repository>
        <id>jboss</id>
        <name>JBoss</name>
        <url>http://repository.jboss.com/maven2</url>
    </repository>
</repositories>

</project>

  而Hibernate相的dependencies如下:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.1.ga</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.2.1.ga</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.2.1.ga</version>
</dependency>

  如此Maven2會根據artifactId去Repositories找,預設的找不到就找JBoss上的。在JBoss的儲藏庫URL:http://repository.jboss.com/maven2/裡也是呈目錄夾型態呈現,就會找到和artifactId同名的目錄。

  設定好之後就可以下mvn:install下載,而Eclipse的用法是在pom.xml這個檔案上點選按右鍵,在[Run As]的選項點選子選項[mvn:install]。 一應俱全的話,可以[Run As]—>[Maven test](command line是mvn:test)測試其運作無誤。

  那下載的jar放哪裡?在專案名-->[Properties]-->[Java Build Path]-->[Libraries]頁籤下,有個Maven Dependencies,在Windows會預設放在C:/User/[User Name]/.m2的目錄下,Maven2應該有設定可以改變Local Repositories的方式,但目前未知。其.m2目錄下有個repository子目錄,裡面的子目錄名應該是依Remote Repository的目錄結構來放,有的按package name放,如org、javax,有個按功能名放,如asm、cglib,還有是公司名,像strust2的原創公司opensymphony。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()