Cd Chen's Services

ba ba ba la~~

Eclipse Dynamic Web Project 使用 Maven

最近在玩 Maven2,覺得蠻有意思的。若用 Eclipse 開發 Dynamic Web Project 時,要讓專案支援 Maven,通常方法有兩種:

  • Maven to Eclipse Dynamic Web Project
  • Eclipse Dynamic Web Project to Maven

Maven to Eclipse Dynamic Web Project

這種方法是先使用 Maven 產生專案的目錄,再透過 eclipse 這個 Maven Plugin 來轉成 Eclipse Dynamic Web Project。步驟如下:

$ mvn archetype:generate -DgroupId=<GROUPID> -DartifactId=<ARTIFACTID> -DinteractiveMode=false  
$ mve -Dwtpversion=<WTPVERSION> eclipse:eclipse   

但如果是先前已經建立好的 Eclipse Dynamic Web Project,如何轉成 Maven 格式呢??

Eclipse Dynamic Web Project to Maven

這種方法又有兩種:

  • Eclipse Maven Plugin
  • 手動修改 pom.xml

第一種方法係透過 3rd-Party 開發的 Eclipse Plugins,將 Eclipse 專案轉成 Maven 的格式。但這種方法有個缺點,由於 Eclipse 與 Maven 專案目錄結構並不相同,您必須手動進行調整。

另外一種方法,則是產生 pom.xml 後,手動修改成為:

  <build>
    <sourcedirectory>${basedir}/src</sourcedirectory>  
    <outputdirectory>${basedir}/build/classes</outputdirectory>  
    <resources>  
     <resource>  
     <directory>${basedir}/src</directory>  
      <includes>  
       <include>*.xml</include>  
      <include>*.properties</include>  
      </includes>  
      <excludes>  
       <exclude>**/.svn/</exclude>  
      </excludes>  
     </resource>  
    </resources>  
    <plugins>  
     <plugin>  
     <groupid> org.apache.maven.plugins</groupid>  
     <artifactid> maven-compiler-plugin</artifactid>  
      <version>2.1</version>  
      <inherited>true</inherited>  
      <configuration>  
       <source>1.6</source>  
       <target>1.6</target>  
      </configuration>  
     </plugin>  
     <plugin>  
     <groupid> org.apache.maven.plugins</groupid>  
     <artifactid>maven-war-plugin</artifactid>  
     <version>2.1-beta-1</version>  
      <inherited>true</inherited>  
      <configuration>  
       <webappdirectory>${basedir}/WebContent</webappdirectory>  
       <packagingexcludes>**/.svn/</packagingexcludes>  
      </configuration>  
     </plugin>  
    </plugins>  
 </build>

有興趣的話,可以玩玩看!! 

這篇內容的 Trackback 網址:

http://cdchen.idv.tw/trackback/1051