2013-04-28 47 views
8

Tôi muốn sử dụng một biến classpath Eclipse để giải quyết tệp JAR nguồn đính kèm cho một thư viện trong đường dẫn lớp của tôi. Đây là nội dung của hiện tại tập tin "classpath" của tôi trong Elcipse (Indigo):Sử dụng biến classpath Eclipse để thay thế đường dẫn "đường dẫn nguồn" tuyệt đối?

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/> 
    <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar"/> 

    <!-- [other entries] --> 

    <classpathentry kind="output" path="bin"/> 
</classpath> 

Khi tôi bây giờ thêm một tập tin JAR nguồn cho 'mùa xuân-ws-1.5.8-all.jar', các " .classpath "nội dung tệp là:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/> 
    <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar" 
    sourcepath="D:/dev/sources/spring-ws-1.5.8-sources.jar"/> 

    <!-- [other entries] --> 

    <classpathentry kind="output" path="bin"/> 
</classpath> 

Như bạn có thể thấy, Eclipse đã thêm thuộc tính" sourcepath "vào phần tử" classpathentry "với đường dẫn tuyệt đối.

Bây giờ ý tưởng của tôi là thay thế đường dẫn tuyệt đối bằng biến classpath "SOURCE_PATH", được đặt chính xác thành "D:/dev/sources".

(Vui lòng không hỏi tại sao chúng tôi có thiết lập này hoặc đề xuất chúng tôi phải thay đổi nó; đó là một dự án cũ và chúng tôi rất tiếc là không thể/được phép thay đổi cấu trúc xây dựng).

tôi đã cố gắng

sourcepath="SOURCE_PATH/spring-ws-1.5.8-sources.jar" 

cũng như

sourcepath="${SOURCE_PATH}/spring-ws-1.5.8-sources.jar" 

nhưng cả hai biến thể không làm việc.

Có vẻ như tôi sử dụng sai cú pháp hoặc tôi không hiểu khái niệm về biến classpath. Có thể không sử dụng biến classpath cho thuộc tính "sourcepath"?

Cảm ơn rất nhiều sự giúp đỡ của bạn!

Trả lời

0

Bạn có thể sử dụng symbolic link. Windows cũng hỗ trợ đường dẫn bắt đầu bằng /. Điều này phụ thuộc vào ổ đĩa. Hãy thử cd / trên Command Prompt để xác minh.

+0

Cám ơn câu trả lời của bạn, đó có thể là một giải pháp, hoặc nhiều hơn một cách giải quyết. Nhưng tôi muốn biết cách sử dụng các biến classpath đó một cách chính xác. –

5

Tôi có thể không hiểu câu hỏi của bạn hoàn toàn nhưng có vẻ như bạn đã thêm tệp jar của mình với đường dẫn tuyệt đối để bắt đầu. Thay vào đó, hãy thêm nó với biến classpath.

Sử dụng thuộc tính Dự án, chọn tùy chọn Java Build Path. Sau đó nhấp vào tab Libraries. Sau đó, Add Variable.... Nếu bạn chưa tạo biến classpath SOURCE_PATH của mình, bạn có thể làm điều đó từ đây bằng cách nhấp vào nút Configure Variables... (chỉ cần một phím tắt đến cài đặt tùy chọn không gian làm việc thích hợp). Sau khi cấu hình, bạn sẽ thấy biến đường dẫn lớp SOURCE_PATH của bạn trong hộp ở trên cùng. Bạn có thể bấm vào nó mở rộng để Extend... nó vào một thư mục con hoặc một tệp jar.

1

Sử dụng câu trả lời của Tod ở trên, nếu bạn có nhiều lọ trong nhiều dự án, bạn có thể dễ dàng chỉnh sửa trực tiếp các tệp .classpath. Sử dụng một biến Path Java Build trong classpath thay đổi tài liệu tham khảo từ:

<classpathentry kind="lib" path="/full/pathTo/Jar.jar"/> 

tới:

<classpathentry kind="var" path="NEW_PATH_VARIABLE/Jar.jar"/> 
Các vấn đề liên quan