Có cách nào dễ dàng để đính kèm nguồn trong Eclipse không?


130

Tôi là một fan hâm mộ lớn của cách Visual Studio sẽ cung cấp cho bạn tài liệu nhận xét / tên tham số khi hoàn thành mã mà bạn đã viết và mã ALSO mà bạn đang tham chiếu (các thư viện / tập hợp khác nhau).

Có cách nào dễ dàng để có được các tên tham số / javadoc nội tuyến trong Eclipse khi thực hiện mã hoàn chỉnh hoặc di chuột qua các phương thức không? Qua plugin? Qua một số thiết lập? Thật khó chịu khi sử dụng nhiều thư viện (như thường xảy ra trong Java) và sau đó phải truy cập trang web hoặc vị trí javadoc cục bộ để tra cứu thông tin khi bạn có nó trong các tệp nguồn ngay tại đó!


Có một phương pháp khác khi sử dụng plugin maven m2e?
cmcginty

1
Xem thêm: Làm cách nào để đính kèm javadoc hoặc nguồn vào bình trong thư mục libs? để biết cách thực hiện cho Android khi giải pháp bên dưới không hoạt động.
blahdibmus

Câu trả lời:


153

Câu trả lời ngắn gọn là có.

Bạn có thể đính kèm nguồn bằng cách sử dụng các thuộc tính cho một dự án.

Chuyển đến Thuộc tính (cho Dự án) -> Đường dẫn xây dựng Java -> Thư viện

Chọn Thư viện bạn muốn đính kèm nguồn / javadoc và sau đó mở rộng nó, bạn sẽ thấy một danh sách như vậy:

Source Attachment: (none)
Javadoc location: (none)
Native library location: (none)
Access rules: (No restrictions)

Chọn vị trí Javadoc và sau đó nhấp vào Chỉnh sửa ở phía bên phải. Nó sẽ khá thẳng về phía trước từ đó.

Chúc may mắn :)


3
Tất nhiên bạn nên lưu ý rằng bạn cũng có thể làm tương tự với phần Đính kèm nguồn nếu bạn có nguồn thực tế bạn muốn đính kèm. Sau đó, bạn nhận được Javadoc và bạn có thể xem trực tiếp nguồn thực tế nếu bạn muốn.
ColinD

14
Tôi gọi đây là cách khó và đau để đính kèm nguồn. Bạn cần làm điều đó mỗi khi bạn đưa tệp jar vào mỗi dự án bạn sử dụng tệp jar. Khi bạn có nhiều lọ, và nhiều dự án, điều đó không tốt.
James Moore

3
@JamesMoore, có cách nào tốt hơn không?
Felix

12
Quá nhiều phiếu cho câu trả lời này! Câu trả lời được cải thiện trong 5 năm là trình thu thập nguồn java được đề cập thực sự phù hợp với "một cách dễ dàng".
bảy lực lượng

1
Phải làm gì khi chúng tôi có "không thể sửa đổi" trên lib?
Henrique de Sousa

108

Cho đến ngày hôm qua, tôi đã bị mắc kẹt trong việc tải xuống các mã nguồn cho hàng tấn lọ và gắn chúng thủ công cho mọi dự án. Sau đó, một đồng nghiệp đã chuyển tôi sang The Java Source Attacher . Nó thực hiện những gì nhật thực nên làm - một menu ngữ cảnh nhấp chuột phải có nội dung "Đính kèm nguồn Java".

nhập mô tả hình ảnh ở đây

Nó tự động tải nguồn cho bạn và đính kèm. Tôi chỉ nhấn vào một vài thư viện mà nó không biết và khi điều đó xảy ra, nó cho phép bạn đóng góp url lại cho cộng đồng để không ai khác gặp vấn đề với thư viện đó.


Nó hoạt động, nhưng có cách nào dễ dàng để nhận được từ phương thức bạn đang kiểm tra đến jar mà nó xuất phát trong Project Explorer không?
Noumenon

Lưu ý rằng các .jartệp không lưu thư mục dự án của bạn, vì vậy bạn .classpathsẽ không thể mang theo nếu bạn cộng tác với người khác.
Stevoisiak

14

Một cách dễ dàng để làm điều này là:

  1. Tải về các tập tin / thư mục SRC tương ứng.

  2. Trong trình chỉnh sửa nhật thực, Ctrl + nhấp hoặc F3 trên một phương thức / lớp bạn cần nguồn. Một tab mới mở ra có nội dung "Không tìm thấy nguồn đính kèm".

  3. Nhấp vào nút "đính kèm nguồn", nhấp vào nút "đính kèm thư mục nguồn", duyệt đến vị trí của thư mục SRC đã tải xuống. Làm xong!

(ps: Nhãn nút có thể thay đổi một chút, nhưng điều này là khá nhiều.)


5

Đôi khi tôi thấy rằng bạn chỉ vào thư mục mà bạn cho là đúng và sau đó vẫn nói rằng nó không thể tìm thấy tệp trong nguồn đính kèm blah blah.

Đôi khi, tôi nhận ra rằng phần tử đường dẫn cuối cùng là "src". Chỉ cần loại bỏ phần tử đường dẫn này (do đó thực sự chỉ một cấp trên đường dẫn thực tế nơi đặt thư mục "org" hoặc "com") làm cho nó hoạt động một cách kỳ diệu.

Bằng cách nào đó, Eclipse dường như ngụ ý phần tử đường dẫn "src" này nếu có và nếu sau đó bạn có nó được bao gồm trong đường dẫn nguồn, thì cuộn cảm Eclipse. Hoặc điều tương tự.


Tôi có cùng một vấn đề: nguồn nằm trong một thư mục có tên là "nguồn" (nơi đặt "org", v.v.) nhưng tôi không thể lấy Eclipse để sử dụng nó trong khi Ctrl + nhấp vào tên phương thức. Thay vào đó tôi có được chế độ xem mã byte. Tôi đã thử đổi tên thành "src", sử dụng "org" làm thư mục hoặc "nguồn" ở trên nhưng không có gì thay đổi ...
Matthieu

Tôi không tin rằng các giả định của Eclipse srclà một phần của con đường. Chỉ cần chọn thư mục chứa thư mục được đặt tên theo tên miền cấp cao nhất của gói.
H2ONaCl

@broiyan: Thật buồn cười là bạn không tin điều đó, khi tôi vừa tuyên bố rằng đây là những gì tôi có kinh nghiệm, về thể chất ! :-)
stolsvik

5

vâng, có một cách dễ dàng ... đi đến ... http://sourceforge.net/projects/jdk7src/ và tải xuống tệp zip. Sau đó gắn cái này vào nhật thực. Đưa ra đường dẫn mà bạn đã tải xuống tệp zip trong nhật thực. Sau đó chúng ta có thể duyệt qua các nguồn.


5

1) Giữ Control + nhấp chuột trái vào phương thức bạn muốn xem. Sau đó, Eclipse sẽ đưa bạn đến trang Nguồn không tìm thấy.

2) Nhấp vào "Đính kèm nguồn" nhập mô tả hình ảnh ở đây

3) nhập mô tả hình ảnh ở đây

4) Điều hướng đến C: \ Tệp chương trình \ Java \ jdk-9.0.1 \ lib \ src.zip

5) Nhấp OK nhập mô tả hình ảnh ở đây Bây giờ bạn sẽ thấy mã nguồn.


4

Khi bạn thêm tệp jar vào đường dẫn lớp, bạn có thể đính kèm thư mục nguồn hoặc tệp zip hoặc tệp jar vào tệp jar đó. Trong các thuộc tính Đường dẫn xây dựng Java, trên tab Thư viện, mở rộng mục nhập cho tệp và bạn sẽ thấy có một mục cho tệp đính kèm nguồn. Chọn mục này và sau đó nhấp vào nút Chỉnh sửa. Điều này cho phép bạn chọn thư mục, jar hoặc zip có chứa nguồn.

Ngoài ra, nếu bạn chọn một lớp hoặc một phương thức trong tệp jar và CTRL + BẤM vào nó (hoặc nhấn F3) thì bạn sẽ đi vào chế độ xem mã byte có tùy chọn để đính kèm mã nguồn.

Làm những điều này sẽ cung cấp cho bạn tất cả các tên tham số cũng như javadoc đầy đủ.

Nếu bạn không có nguồn nhưng có javadoc, bạn có thể đính kèm javadoc thông qua phương thức đầu tiên. Nó thậm chí có thể tham chiếu một URL bên ngoài nếu bạn chưa tải xuống.


3
  1. Nhấp vào mã JAVA bạn muốn xem. (Nhấp vào Danh sách để mở List.java nếu bạn muốn kiểm tra mã nguồn cho java.util.List)
  2. Nhấp vào nút "Đính kèm nguồn".
  3. Bạn sẽ được yêu cầu "Chọn vị trí (thư mục, JAR hoặc zip) có chứa nguồn cho rt.jar).
  4. Chọn tùy chọn "Vị trí bên ngoài". Xác định vị trí tệp src.zip.
  5. Đường dẫn cho src.zip là: * \ Java \ jdk1.8.0_45 \ src.zip

2
  1. Đặt các tệp nguồn vào một tệp zip (giống như đối với nguồn java)
  2. Chuyển đến thuộc tính Project -> Thư viện
  3. Chọn Nguồn đính kèm và nhấp vào 'Chỉnh sửa'
  4. Trên Cấu hình tệp đính kèm nguồn, nhấp vào 'Biến'
  5. Trên "Lựa chọn biến", nhấp vào 'Mới'
  6. Đặt một tên có ý nghĩa và chọn tệp zip được tạo ở bước 1

1

Một tùy chọn khác là nhấp chuột phải vào tệp jar của bạn trong (Dự án của bạn) -> Thư viện được tham chiếu -> (tệp của bạn) và nhấp vào thuộc tính. Sau đó bấm vào Đính kèm nguồn Java. Và sau đó trong đường dẫn vị trí đặt vào vị trí cho tệp jar nguồn của bạn.

Đây chỉ là một cách tiếp cận khác để đính kèm tập tin nguồn của bạn.



1

Nếu bạn xây dựng thư viện của mình bằng gradle, bạn có thể đính kèm các nguồn vào các lọ bạn tạo và sau đó nhật thực sẽ tự động sử dụng chúng. Xem câu trả lời của @MichaelOryl Cách xây dựng jar nguồn với gradle .

Sao chép ở đây để bạn tham khảo:

jar {
    from sourceSets.main.allSource
}

Giải pháp hiển thị là để sử dụng với plugin java gradle. Số dặm có thể thay đổi nếu bạn không sử dụng plugin đó.


0

Một suy nghĩ khác để làm cho điều đó dễ dàng hơn khi sử dụng bản dựng tự động:

Khi bạn tạo một tệp jar của một trong các dự án của mình, hãy tạo tệp jar jar:
project.jar
project-src.jar

Thay vì đi vào hộp thoại tùy chọn đường dẫn xây dựng để thêm một tham chiếu nguồn vào mỗi jar, hãy thử cách sau: thêm một tham chiếu nguồn thông qua hộp thoại. Chỉnh sửa. Classpath của bạn và sử dụng mục jar đầu tiên làm mẫu, thêm các tệp jar nguồn vào mỗi lọ khác của bạn.

Theo cách này, bạn có thể sử dụng các công cụ hỗ trợ điều hướng của Eclipse một cách đầy đủ nhất trong khi vẫn sử dụng một cái gì đó độc lập hơn để xây dựng các dự án của bạn.


0

Tôi sẽ yêu cầu một giải pháp thay thế cho việc gắn các nguồn vào cùng một JAR đang được sử dụng trên nhiều dự án. Ban đầu, tôi đã nghĩ rằng giải pháp thay thế duy nhất là xây dựng lại JAR với nguồn được bao gồm nhưng nhìn vào tính năng "thư viện người dùng", bạn không phải xây dựng JAR với nguồn.

Đây là một giải pháp thay thế khi bạn có nhiều dự án (có liên quan hay không) tham chiếu cùng một JAR. Tạo một "thư viện người dùng" cho mỗi JAR và đính kèm nguồn vào chúng. Lần tới khi bạn cần một JAR cụ thể, thay vì sử dụng "Thêm JAR ..." hoặc "Thêm JAR bên ngoài ...", bạn thêm "thư viện người dùng" mà bạn đã tạo trước đó.

Bạn sẽ chỉ phải đính kèm ONCE nguồn trên mỗi JAR và có thể sử dụng lại nó cho bất kỳ số lượng dự án nào.


0

Đối với những người đang viết các trình cắm thêm Eclipse và muốn bao gồm nguồn ... trong tính năng ExportWizard, có một tùy chọn để bao gồm nguồn: nhập mô tả hình ảnh ở đây


0

Chỉ cần nhấp vào đính kèm nguồn và chọn đường dẫn thư mục ... tên sẽ giống như tên thư mục (trong trường hợp của tôi). Hãy nhớ một điều bạn cần chọn đường dẫn đến vị trí cơ sở thư mục dự án với "\" ở hậu tố ex D: \ MyProject \


-2

Nó có vẻ như quá mức cần thiết, nhưng nếu bạn sử dụng maven và bao gồm nguồn, plugin nhật thực mvn sẽ tạo ra tất cả cấu hình nguồn cần thiết để cung cấp cho bạn tất cả các tài liệu nội tuyến mà bạn có thể yêu cầu.


1
Nhưng cùng với đó, cần một chiếc búa tạ vào hệ thống xây dựng Eclipse bình thường của bạn, nghiền nát bất cứ thứ gì được sử dụng để làm việc.
James Moore
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.