簡介
GitHub is a web-based hosting service for projects that user the Git revision control system. It is a social networking where you can share your code.
GitHub中的Maven專案一般沒有本地配置檔案(主要是為了去除依賴,使專案整體結構清晰)。
但是當匯入Github的Maven專案,並與本地的Eclipse直接結成,總有些困難,直到Eclipse 4.2(Juno). 本文介紹如何匯入github專案,並直接與eclipse整合。
引文
本文是在Windows 7下進行,下面的軟體將被安裝,並使之一起工作 :
1. Eclipse: Eclipse IDE(本文使用eclipse-4.2)
2. Java: Java程式語言(本文使用java-1.7.0_05)
3. Maven: Java專案管理工具(本文使用mava-3.0.4)
4. Druid: JDBC Connection Pool(本文使用Druid專案為例)
條件準備
- GitHub流程, Set up git, Create a repo, Fork a repo, Be social. 參考GitHub Help.
- 生成ssh keys. 參考Generating SSH Keys.
- 有專案的push許可權
- Java, Eclipse, Maven安裝正確
配置
Maven配置
Eclipse-4.2使用的Maven版本預設為maven-3.0.4, 但是還是建議設定一下:
版本設定: Window > Preferences > Maven > Installations
使用者設定: Window > Preferences > Maven > User Settings
SSH配置
SSH2設定: Window > Preferences > General > Network Connections > SSH2
注意設定SSH2 home及private keys.
匯入專案
1.右鍵 > Import > Project from Git
2.選擇URI
3.輸入Remote Git Repo的配置資訊
注意:Protocol使用ssh, User使用git, Password為賬戶在github的密碼
4.查詢遠端分支資訊
5.選擇分支
6.選擇本地目標位置
7.從版本倉庫中進行Clone
8.接受檔案中
9.選擇匯入專案型別
注意: 選擇Import as general project
10.確認專案名稱
11.專案如下
注意: 此時專案為General Project不是Maven project, 需要手工修改配置檔案。但是由[druid master]可以看出,已經是一個帶版本控制的專案了。
修改專案配置檔案
由於匯入的是普通專案,需要轉化成Maven Project。Eclipse中專案的主要配置檔案是.classpath和.project,還有.settings資料夾。
原專案為General project, 只有.project檔案,其.project配置檔案內容如下
<? xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name> druid</name>
<comment></comment>
<projects></projects>
<buildSpec></buildSpec>
<natures></natures>
</projectDescription>
需要修改.project,並新增.classpath檔案:
<? xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name> druid</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name> org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name> org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature> org.eclipse.jdt.core.javanature</nature>
<nature> org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
還有.classpath檔案
<? xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind ="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name ="optional" value="true"/>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding ="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind ="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name ="optional" value="true"/>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding ="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind ="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind ="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name ="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind ="output" path="target/classes"/>
</classpath>
重新整理專案
在專案上右鍵 > Refresh.
如果還有錯誤,可以在專案上右鍵 > Maven > Update project.. > OK, Eclipse 會自動重新建立.settings資料夾。
此時專案完成,可以直接提交到GitHub了。