2009-09-15 43 views
23

Eclipse 3.5 đã thêm hỗ trợ cho các mục xây dựng đường dẫn/classpath tương đối, nhưng tôi dường như không thể tìm thấy một cách đồ họa để thêm các mục tương đối được dẫn đường. The example in new and noteworthy (search the page for 'relative', about 40% of the way down) dường như chỉ ra rằng tôi phải chỉnh sửa thủ công tệp .classpath. Tôi chỉ thiếu một cái gì đó?Làm cách nào tôi có thể thêm các mục đường dẫn xây dựng vào Eclipse 3.5 bằng các đường dẫn tương đối?

Chỉnh sửa 2015: Đã cập nhật liên kết khi nó đã biến mất. Để bảo tồn "mới và đáng chú ý" vô thời hạn, đây là ảnh chụp màn hình của phần được đề cập.

enter image description here

+0

+1 có vẻ như bạn chỉ có thể thực hiện điều đó bằng cách hack đường dẫn lớp –

Trả lời

3

Sau khi đánh giá tất cả các câu trả lời và mày mò với Eclipse tôi có thể thấy không có cách nào để làm điều này mà không tự chỉnh sửa các tập tin classpath.

Đánh dấu câu trả lời này là được chấp nhận để cho biết rằng không có cách nào để thực hiện việc này trong Eclipse 3.5. Giữ các ngón tay được vượt qua cho Eclipse 3.6 hoặc Eclipse 4.

+1

chỉ cần tự hỏi: làm cách nào bạn tự làm điều đó? Bất cứ khi nào tôi đặt một mẫu tập tin như ../name.jar vào classpath, Eclipse craps out (đó là Galileo) – Matthias

+0

@Matthias: Tôi thấy tương tự với Helios. –

+0

Cũng không hoạt động trên Eclipse Luna SR2 (4.4.2). – zb226

2

Tôi nghĩ bạn có thể làm điều này bằng đồ họa thay vì chỉnh sửa .classpath. Tùy thuộc vào phiên bản Eclipse đó là một cái gì đó như:

dự án Nhấp chuột phải -> Properties -> Build Path -> Libraries (tab) -> Add Variable

trình trong Eclipse hiện tại của tôi với một dự án Java .. ;-)

+1

Đó là để thêm biến thay vì đường dẫn tương đối trực tiếp. Không phải những gì được yêu cầu ở tất cả –

+0

Đoán tôi đang thiếu điểm của câu hỏi của bạn. Tôi nghĩ bạn muốn thay đổi đường dẫn .class để thêm thông tin như sau: Nhưng sử dụng giao diện đồ họa. Của tôi xấu .. – NickDK

+2

không.Muốn thêm một mục như "../../lib/junit.jar" – basszero

0

Theo tôi biết bạn hiện chỉ có thể đạt được điều này bằng cách chỉnh sửa tệp .classpath. Để điều này có thể thực hiện được thông qua nút 'nhấn' tinh khiết, các hộp thoại trình duyệt xuất hiện sau khi chọn 'Thêm các JAR bên ngoài ...' và 'Thêm Thư mục Lớp ngoài ...' sẽ cần một cái gì đó giống như một hộp kiểm để xác định xem bạn có muốn thêm đường dẫn tương đối hoặc đường dẫn tuyệt đối. Có lẽ đó không phải là khó để thêm, nhưng tôi đã không nhìn thấy nó được nêu ra.

11

Cách thực tế để làm điều này là để nhập viện vào không gian làm việc của bạn như vậy,

Right Click trong Package Explorer -> Import -> File System -> Browse (vào thư mục chứa lọ của bạn) -> kiểm tra các hộp bên cạnh các lọ bạn muốn -> Duyệt đến thư mục không gian làm việc mà bạn muốn nhập vào (có thể là thư mục lib của bạn) -> Hoàn tất

Hãy nhớ rằng sẽ sao chép các tệp vào thư mục lib để tôi tìm thấy rằng nó giúp giữ cho mọi thứ sạch sẽ nếu bạn chưa có chúng ở đó. Bây giờ chúng sẽ hiển thị trong trình thám hiểm gói theo "lib". Để thêm chúng vào đường dẫn lớp,

Nhấp chuột phải vào dự án -> Đường dẫn xây dựng -> định cấu hình đường dẫn xây dựng ... -> Thêm JAR -> điều hướng đến thư mục lib của dự án đã cho và chọn các JAR thích hợp -> nhấp vào ok -> nhấp vào kết thúc

Điều này sẽ thêm chúng vào CP có vị trí tương đối.

Nếu bạn cần thêm giúp cho tôi biết

+3

Không hoàn toàn. Tôi không muốn nhập các jars vào dự án, tôi muốn tham khảo các thư mục lib của tôi (các thư mục bên ngoài và một số thư mục mẹ) qua các đường dẫn tương đối để bất kỳ ai kiểm tra dự án của tôi sẽ không phải đặt biến hoặc môi trường – basszero

+0

Đường dẫn xây dựng tương đối nhật thực là dự án tương đối. Theo như tôi biết, cách duy nhất để lấy nhật thực để thực sự đề cập đến mọi thứ theo cách đó là đưa họ vào trong dự án trong người quản lý dự án. Bạn có thể sử dụng các toán tử như .. để chỉ các thư mục khác, nhưng tôi biết không có cách nào để hoàn thành đồ họa đó. Lấy làm tiếc! –

0

Không. Tuy nhiên, điều đó là không thể. Nhưng bạn sẽ sớm thấy nó. Tiếp tục kiểm tra tích hợp xây dựng.

5

Điều này không hoạt động!

Chỉnh sửa đường dẫn .class để bao gồm đường dẫn tương đối theo ví dụ Mới và Đáng chú ý (path = "../../ lib/myjar.jar") không khó, tuy nhiên nó không hoạt động như mô tả !

Dường như việc giải quyết tương đối so với Không gian làm việc và không phải là Dự án cụ thể như được chỉ định, không được sử dụng nhiều. Có ai khác tìm thấy cùng một vấn đề hoặc một giải pháp cho điều này?

0

Tôi đã thực hiện việc này bằng cách thêm các thư viện vào dự án của mình. Vì vậy, tạo một thư mục trong dự án của bạn được gọi là "lọ" và đặt tất cả các lọ phụ thuộc vào đó.

Khi bạn định cấu hình đường dẫn xây dựng sau đó, mọi thứ sẽ tương đối.

11

Tôi đang sử dụng Helios (tức là 3.6.x) và đây là những gì tôi làm để tham chiếu một lib (jar) bên ngoài dự án của tôi theo cách tương đối.

1) Nhấp chuột phải vào dự án trong trình khám phá dự án -> Nhập -> Nhập. 2) Chọn Hệ thống Tệp (Tiếp theo) Sử dụng nút duyệt để điều hướng đến thư mục (có, nó trông giống như một đường dẫn cứng). Chọn .jar (s) để bao gồm.

Tôi thường thêm "\ lib" vào tên dự án trong tùy chọn "Vào thư mục:".

Nhấp vào "Nâng cao" và chọn "Tạo liên kết trong không gian làm việc" và tôi sử dụng các tùy chọn mặc định (cả được chọn và liên quan đến PROJECT_LOC). 3) Nhấp vào Hoàn thành

Tiếp theo, mở thuộc tính dự án và chuyển đến tab Java Build Path Libraries và chọn "Add Jars ..." và chuyển đến thư mục \ lib (từ Bước 2) và chọn lib (s) mà bạn cần. Trên tab Libraries bây giờ có "ProjectName/Lib" cho đường dẫn của lib (s).

Trình khám phá dự án sẽ hiển thị thư mục lib với lib của bạn bằng biểu tượng đặc biệt. Nếu bạn nhìn vào ổ đĩa cứng của bạn cho thư mục lib, không có gì ở đó. Vì vậy, nó được đề cập đến các libs trong đường dẫn bên ngoài, nhưng bao gồm chúng như là một "dự án" lib.

Nhấp chuột phải vào tệp jar trong trình khám phá dự án và thực hiện các thuộc tính. Bạn sẽ thấy con đường tương đối tốt đẹp.

+1

Hoàn hảo! Sử dụng phương pháp này, một thư mục ảo được tạo để chứa các tệp jar của bạn. Bản thân các tệp jar không được sao chép ** nhưng vẫn được giữ nguyên trên vị trí ban đầu của chúng và được tham chiếu bằng cách sử dụng đường dẫn tương đối (ví dụ: ' /../../ mylittle.jar'). – Daniel

+0

Bạn có phải cài đặt PROJECT_LOC hoặc đã được xác định trước không? – Rikki

8

Đơn giản. không có tất cả hộp thoại và menu.

Trong tệp .project của bạn, thêm đường dẫn vào tệp thực, như thế này. Mine là trên ../libs/GoogleAdMobAdsSdkAndroid-4.1.1/GoogleAdMobAdsSdk-4.1.1.jar
vì vậy tôi thay đổi để PHỤ HUYNH-1-PROJECT_LOC/libs/...

<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> 

và trong classpath tôi sử dụng

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

như liên kết đến lib

Eclipse liên kết các nguồn lực cho dự án và sử dụng nó mà không Copping file Cũng giống như Mike Jones trả lời ở trên nhưng không có bất kỳ hộp thoại

Tốt nhất cho nhiều ứng dụng

Các vấn đề liên quan