2011-06-08 114 views
4

我有一個檢入到Subversion存儲庫的Eclipse工作區。但是,如果我更改工作區目錄的名稱,項目文件不會加載,我必須重新導入它們,並再次設置任何工作區相關設置。 Eclipse是否可以使用相對路徑?我不是這個項目的唯一團隊成員,不幸的是,另一個人拒絕遵循共同的目錄組織方案。Eclipse中的相​​對路徑

編輯這些是在這一點上所有的Java項目

編輯有工作區matadata文件夾中的幾個文件,但這裏是我第一個關於發現該項目

<workspace root>\.metadata\plugins\org.eclipse.core.resources\.projects\ProjectName\.location 

在這個文件「.location」中有一個基於文件的URL。我在Eclipse嘗試使用相對路徑時崩潰後做了一些研究,並得出結論:相對路徑對於URL而言是不可能的。

EDIT這裏是的.classpath和.project內容

的.classpath

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 

的.project

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>SimpleHelloWorld</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

進行配置和測試的目的,我一直在試圖讓這個w ork只與我們簡單的Hello World!樣品。

+0

「我不是這個項目上唯一的團隊成員,不幸的是另一個人拒絕遵循共同的目錄組織方案」。聽起來就像你們中只有兩個 - 還有兩個選擇:1)讓老闆強加一個結構2)改變你的方式來跟隨另一個人的方式 – Mawg 2014-12-03 12:59:52

+0

最終目標是要有一個完全便攜的設置,基本上就是「結帳並去」。我們最終僅版本化了項目並記錄了初始設置的工作區配置。這是幾年前的細節,所以細節有點模糊。 – 2014-12-18 19:33:20

回答

3

工作區從來沒有真正意義上的源代碼控制。也許我誤解了你的設置,但是如果你試圖在源代碼控制中提交工作空間的.metadata文件夾,那麼你將面臨一堆麻煩!

而不是將您的工作區放在源代碼管理中,您應該只放置項目本身。然後通過Subversive或其他Subversion插件,從SCM獲取項目。這將使eclipse自動爲您創建項目的所有資源和配置,並且只要您擁有所有依賴關係,就應該立即進行編譯。

爲什麼你覺得需要在源代碼管理中使用整個元數據文件夾?

如果您正在尋找一種簡單的方式來管理構建,那麼我建議您查看Ant,Maven或其他此類工具來幫助您。如果你想保留你的設置,他們大多數都具有導出功能,我建議你有一個特殊的項目來存儲這些設置並將其置於源代碼控制之下,這並不理想,因爲它不是自動的,但一旦設置完畢,它們就不應該改變所有設置經常。通常,我甚至會在將項目推送到SCM之前過濾出我的項目中的.settings文件夾和.classpath,並根據需要讓eclipse和Maven插件爲我重新生成它們。到目前爲止,我從來沒有真正遇到過從SCM獲取我的東西的麻煩。建立一個新的配置稍微長一些,但是通過參考Eclipse安裝和所有插件,然後導入配置和項目非常快。

+0

我同意@Newtopian,我沒有注意到你是在你的vcs中放置你的工作區。 – Marcelo 2011-06-08 19:36:29

+0

我想這對我們的設置是好的,我只是總是在Eclipse中處理工作區,因爲人們會在Visual Studio中處理解決方案。我已經爲Eclipse中的其他項目做了這樣的工作,但我和我的項目合作伙伴一直都能夠保持我們所有的路徑相同,所以我從未遇到過這個問題。 – 2011-06-08 20:49:54

3

Eclipse通常使用相對路徑。在我的工作場所中,我們使用Subversive插件和Subversion插件。當我們重新進口時,我們沒有任何編譯問題。

您可能需要編輯項目的.project和.classpath文件,以查看是否存在對絕對位置的引用並將其更改爲相對位置。

+0

我已找到絕對路徑,但只在工作區文件中。因爲它們是基於文件的URL(file:///),所以我不認爲相對路徑被支持,因爲我試圖加載工作區時它只會崩潰Eclipse。 – 2011-06-08 14:59:49

+0

@MetalSearGolid可以在您的問題中包含您的.classpath或.project代碼,該代碼包含基於文件的URL。 – Marcelo 2011-06-08 15:02:00

+0

@MetalSearGolid我也忘了問這些是Java項目還是其他語言。 – Marcelo 2011-06-08 15:12:18

0

它看起來不像Eclipse可以用相對路徑做所有事情。 您可以做的一件便宜事情是在不同機器上的相同路徑中設置一個完全相同的預配置Eclipse。 在未來雲端IDEs如Eclipse Orion可能會解決此類問題...