2009-09-15 91 views
23

Eclipse 3.5增加了對相對構建路徑/類路徑項目的支持,但我似乎無法找到添加相對路徑項目的圖形方式。 The example in new and noteworthy (search the page for 'relative', about 40% of the way down)似乎表明我必須手動編輯.classpath文件。我只是想念一些東西?如何使用相對路徑將構建路徑項添加到Eclipse 3.5?

編輯2015:更新後的鏈接,因爲它已經消失。爲了無限期地保留「新的和值得注意的」,這裏是所提到的部分的截圖。

enter image description here

+0

+1它看起來像你只能通過盜號類路徑 – 2009-09-15 13:12:21

回答

3

評估所有響應,並與Eclipse擺弄我看不出有什麼辦法做到這一點無需手動修改.classpath文件後。

將此答案標記爲已接受,表示在Eclipse 3.5中無法執行此操作。保持手指交叉於Eclipse 3.6或Eclipse 4.

+1

只是想知道:你是怎麼手動做的?每當我把像../name.jar這樣的文件模式放入類路徑中時,Eclipse就會挑出(這就是伽利略) – Matthias 2010-12-24 12:48:02

+0

@Matthias:我看到Helios也一樣。 – 2011-05-17 12:36:47

+0

也不適用於Eclipse Luna SR2(4.4.2)。 – zb226 2015-12-08 08:20:50

2

我認爲你可以做到這一點,而不是圖形化編輯的.classpath的。根據Eclipse版本是這樣的:

右擊項目 - >屬性 - >構建路徑 - >庫(標籤) - >我在當前的Eclipse添加變量

工程用Java項目.. ;-)

+1

即添加變量,而不是直接的相對路徑做。根本沒有要求什麼 – 2009-09-15 13:16:19

+0

猜測我錯過了你的問題的觀點。我以爲你想改變.classpath添加類似於: 但使用圖形界面。我的壞.. – NickDK 2009-09-15 13:33:07

+2

不。想要添加一個條目,如「../../lib/junit.jar」 – basszero 2009-09-15 13:39:55

0

據我所知目前只能通過編輯.classpath文件來實現這一點。爲了通過純粹的「按鈕推送」來實現這一點,在選擇「添加外部JAR文件...」和「添加外部類文件夾...」後彈出的瀏覽對話框需要類似複選框的內容來指定是否要添加相對或絕對路徑。也許這不難添加,但我還沒有看到它。

11

實際的方式做,這是庫導入到你的工作區,這樣,

右鍵單擊Package Explorer中 - >導入 - >文件系統 - >瀏覽(包含你的罐子目錄) - >檢查你想要的jar文件夾旁邊的框 - >瀏覽到你要導入的工作區文件夾(可能是你的lib文件夾) - >完成

請記住,這將複製文件到lib文件夾,所以我找到了如果你還沒有在那裏,它有助於保持乾淨。它們現在將顯示在「lib」下的包瀏覽器中。將它們添加到類路徑中,

右鍵單擊項目 - >構建路徑 - >配置構建路徑 - >添加JAR - >導航到給定項目的lib文件夾並選擇相應的JAR - >單擊確定 - >單擊完成

這將它們添加到具有相對位置的CP。

如果您需要更多的幫助,讓我知道

+3

不完全。我不想將jar文件導入到項目中,我想通過相對路徑引用我的lib目錄(這是外部的和幾個父目錄),以便任何簽出我的項目的人不必設置變量或環境 – basszero 2009-09-16 13:18:19

+0

eclipse相對構建路徑是項目相對的。據我所知,讓eclipse實際上以這種方式引用事物的唯一方法是讓它們在項目經理的項目中。你可以使用像..這樣的運算符來引用其他目錄,但是我知道無法以圖形方式實現它。抱歉! – 2009-09-16 17:53:08

0

不可以。至今爲止,這是不可能的。但你很快就會看到它。繼續檢查一體化構建。

5

這不行!

按照新的和值得注意的例子(path =「../../ lib/myjar.jar」)編輯.classpath以包含相對路徑並不困難,但它看起來並不像描述的那樣工作!

它似乎相對於工作區而不是指定的特定項目來解析,這是沒有多大用處的。是否有其他人發現相同的問題或解決方案?

0

我已經通過將庫添加到我的項目來完成此操作。所以,在你的項目下創建一個名爲「罐子」的文件夾,並將所有相關的罐子放在那裏。

當您之後配置構建路徑時,一切都將是相對的。

11

我在使用Helios(即3.6.x),這是我以相對方式在我的項目之外引用lib(jar)的方法。

1)右鍵單擊項目瀏覽器中的項目 - >導入 - >導入。 2)選擇文件系統(下一步)使用瀏覽按鈕導航到文件夾(是的,它看起來像一個硬路徑)。選擇要包含的.jar(s)。

我通常將「\ lib」附加到「Into Folder:」選項中的項目名稱中。

單擊「高級」,然後選擇「在工作區中創建鏈接」,並使用默認選項(均選中,並且相對於PROJECT_LOC)。 3)單擊Finish(完成)

接下來,打開項目屬性並轉到Java Build Path Libraries選項卡並選擇「Add Jars ...」,然後轉到\ lib文件夾(從步驟2開始)並選擇lib s),你需要。在Libraries選項卡上,現在具有用於lib(s)路徑的「ProjectName/Lib」。

項目資源管理器將顯示一個lib文件夾,其中包含一個特殊的圖標。如果你在硬盤上查找lib文件夾,那裏沒有任何東西。所以它指的是外部路徑中的庫,但包括它們作爲「項目」庫。

右鍵單擊項目瀏覽器中的jar文件並執行屬性。你應該看到相對路徑的善良。

+1

完美!使用此方法,將創建一個虛擬文件夾以包含您的jar文件。 jar文件本身是**不被複制的**,但保留在其原始位置並使用相對路徑(例如' /../../ mylittle.jar')引用。 – Daniel 2013-07-11 08:10:31

+0

您是否必須設置PROJECT_LOC或者是否預定義了? – Rikki 2015-11-25 14:56:29

8

簡單。沒有所有的對話框和菜單。

在您的.project文件中添加實際文件的路徑,就像這樣。 礦是../libs/GoogleAdMobAdsSdkAndroid-4.1.1/GoogleAdMobAdsSdk-4.1.1.jar
所以我改變母公司-1-PROJECT_LOC /庫/ ...

<linkedResources> 
    <link> 
     <name>libs/GoogleAdMobAdsSdk-4.1.1.jar</name> 
     <type>1</type> 
     <locationURI>PARENT-1-PROJECT_LOC/libs/GoogleAdMobAdsSdkAndroid-4.1.1/GoogleAdMobAdsSdk-4.1.1.jar</locationURI> 
    </link> 
</linkedResources> 

和的.classpath我使用

<classpathentry kind="lib" path="libs/GoogleAdMobAdsSdk-4.1.1.jar"/> 

爲紐帶的lib

鏈接的Eclipse項目資源,並使用它,而不在逃避文件 就像麥克·瓊斯回答以上,但沒有任何對話

最佳多個應用