2009-04-19 47 views
12

Eclipse có màn hình Run Configurations với tab Classpath.Sự khác nhau giữa CLASSPATH "các mục khởi động" và "các mục nhập người dùng" trong Eclipse là gì?

Tôi có một số lọ được liệt kê trong phần "mục nhập người dùng" của tab này nhưng dự án của tôi không chạy cho đến khi tôi sao chép các tệp jar đó vào phần "mục nhập bootstrap". Sau khi các lọ được liệt kê trong cả hai phần, dự án đã chạy thành công.

Tại sao?

Sự khác biệt giữa hai danh mục cài đặt Classpath khác nhau này là gì?

Trả lời

2

Bạn có thể tạo tệp jar cả hai cách trích xuất chúng và so sánh chúng. Tôi rất tò mò nếu tệp jar thay đổi khi bạn thêm mục nhập. Một số thông tin về số class loading có thể cung cấp một số thông tin chi tiết. specification for jar files không thực sự đưa ra bất kỳ gợi ý nào.

+1

"Tạo tập tin jar" Không chắc chắn những gì bạn có nghĩa là –

+0

Thú vị "Liên kết" lớp tải "bạn cung cấp nói:" Khi giải quyết một lớp học tên, thời gian chạy tìm kiếm file theo thứ tự này: 1. lớp bootstrap đường 2. mở rộng đường dẫn lớp 3. user" Điều đó có vẻ như mâu thuẫn với kinh nghiệm của tôi từ đó, trong trường hợp của tôi, có vẻ như con đường sử dụng lớp đã bị bỏ qua –

+0

Điều gì về diffing các lọ? Bất kỳ fuit có? – ojblass

2

Một trong số đó là để kiểm tra nguồn/classpath trong trình chỉnh sửa, cột kia là dành cho môi trường thời gian chạy.

Tôi nghĩ vậy.

Cái quái gì, hôm nay tôi cũng đã max.

+0

15400/200 = 77 ngày ... đẹp ... Tôi nghĩ dấu kiểm phải di chuyển trong trường hợp này. :( – ojblass

+0

Vâng, cảm ơn, trung bình của tôi là cách ít hơn 200/ngày mặc dù –

6

Sự khác biệt là thứ tự đặc điểm kỹ thuật của chúng trong bộ nạp lớp.

Đường dẫn lớp khởi động được quản lý bởi trình nạp lớp cấp cao nhất khi khởi động VM sẽ thực thi ứng dụng. (Từ một dòng lệnh được speicfied sử dụng -Xbootclasspath)

Đường dẫn lớp người dùng là các mục được quản lý bởi trình nạp lớp ứng dụng.

Bất kỳ mục nào trong đường dẫn lớp khởi động đều được ưu tiên hơn đường dẫn lớp người dùng.

Chúng được khởi tạo dựa trên dự án có chứa ứng dụng để khởi chạy, nhưng bạn có thể sửa đổi chúng trong cấu hình trình chạy cho ứng dụng bạn muốn khởi chạy trong nhật thực.

Vì sao nó không hoạt động: các lọ là gì? Chúng là những thứ cần được tải từ các lớp thời gian chạy (như xml parser replacement libs?)

Xem http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html để biết thêm chi tiết.

- Scott

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