2013-03-02 33 views
27

Tôi đã thêm một Student.jar vào Build Path tôi trong nhật thực của tôi như this-Gắn Nguồn trong Eclipse của một jar

Nhấp chuột phải vào dự án-> BuildPath-> Configure Build Path-> Libraries-> Thêm External Jars

Có một lớp có tên StudentTest trong Student.jar tệp. Khi tôi đang gỡ lỗi mã của mình trong nhật thực, tôi đã bước vào lớp StudentTest đó trong Student.jar.

Và sau khi nhật thực toàn phần cho thấy tôi như this-

Các tập tin JAR S:\some_location\Student.jar không có tập tin đính kèm nguồn. Bạn có thể đính kèm nguồn bằng cách nhấp vào Đính kèm nguồn bên dưới

Bây giờ tôi không chắc chắn làm cách nào để đính kèm nguồn vào nhật thực của tôi. Và từ đâu? Bất cứ ai có thể cung cấp cho tôi từng bước những gì tôi cần làm.

Cập nhật: - tôi đã cố gắng giải nén các Student.jar và tôi đã nhận Student folder. Và sau đó tôi đã cố gắng trỏ nguồn đến Student folder Nhưng tôi vẫn không thể thấy lớp đúng cách để tôi có thể gỡ lỗi đúng cách, nó cho thấy cùng một hành vi trên.

+0

@Kata Vui lòng giải thích cách liên kết bạn cung cấp sẽ trả lời câu hỏi. –

+0

@Kata, tôi bị nhầm lẫn trên dòng này 'Điền vào trường Đường dẫn vị trí tùy thuộc vào vị trí, chọn giữa không gian làm việc, tệp bên ngoài hoặc thư mục bên ngoài. Nhấp vào OK. 'Tôi cần chọn con đường địa điểm nào. Tôi có nên giải nén thư mục 'Student.jar' rồi trỏ tới' Thư mục sinh viên' không? Hoặc cái gì khác. Khi tôi đã thử tùy chọn ở trên và tôi vẫn thấy hành vi tương tự. – AKIWEB

+0

@ Nevzz03 Tôi xin lỗi, tôi đã dán liên kết sai. Đây là một trong những quyền: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fref-properties-source-attachment.htm –

Trả lời

9

Tệp .jar thường chỉ chứa các tệp .class, không phải tệp .java mà chúng được biên dịch từ đó. Đó là lý do tại sao nhật thực cho bạn biết nó không biết mã nguồn của lớp đó.

"Gắn" nguồn vào JAR nghĩa là nói nhật thực nơi có thể tìm thấy mã nguồn. Tất nhiên, nếu bạn không biết chính mình, tính năng đó sẽ giúp ích rất ít. Tất nhiên, bạn có thể thử googling cho mã nguồn (hoặc kiểm tra bất cứ nơi nào bạn có các tập tin JAR từ).

Điều đó nói rằng, bạn không nhất thiết cần nguồn để gỡ lỗi.

+0

Cảm ơn bạn đã đề xuất. Sau khi giải nén cái bình, tôi sẽ nhận được một thư mục đúng không? Vì vậy, nếu tôi trỏ đến thư mục đó, tôi sẽ có thể thấy mã nguồn đúng cách? – AKIWEB

+1

Chỉ khi tệp JAR chứa mã nguồn (tệp * .java), hầu hết các tệp JAR đều không ... – meriton

+0

Vâng, bạn nói đúng. Sau khi giải nén các tệp jar, tôi chỉ tìm thấy các tệp '.class' ở đó. Vì vậy, không có cách nào tôi có thể làm cho điều này hoạt động đúng không? – AKIWEB

11

Eclipse không hiển thị nguồn được tìm thấy vì không có sẵn nguồn. Bình của bạn chỉ có các lớp được biên dịch.

Bạn cần nhập dự án từ bình và thêm Dự án làm phụ thuộc.

tùy chọn khác là để đi đến các

Đến Thuộc tính (đối với dự án) -> Java Build Path -> Libraries, chọn file jar của bạn và bấm vào nguồn, sẽ có tùy chọn để đính kèm nguồn và Javadocs.

+0

Cảm ơn Avinash, tôi đã thử tùy chọn thứ hai của bạn nhưng nó vẫn nói cùng một điều. Những gì tôi đã làm là- Sau khi giải nén các jar tôi sẽ nhận được một thư mục phải không? Vì vậy, nếu tôi trỏ đến thư mục đó, tôi sẽ có thể thấy mã nguồn đúng cách? Nhưng nó không xảy ra với tôi. Tôi không thể xem tệp lớp đúng cách. – AKIWEB

+0

Ý bạn là bạn không thể xem tệp lớp học đúng cách? Các tệp lớp sẽ không ở định dạng có thể đọc được vì chúng sẽ chứa bytecode. Nếu bạn không có các tệp nguồn (.java) trong thư mục thì tôi sợ tùy chọn duy nhất của bạn là dịch ngược các lớp Java của bạn và sau đó đính kèm thư mục nguồn. –

+0

@ Nevzz03 Tệp JAR có chứa bất kỳ tệp .java nào không? Nhiều khả năng nó chỉ chứa các tệp .class. Eclipse đang yêu cầu bạn cho nó biết nơi tệp .java, mặc dù, vì vậy tệp JAR có lẽ không hữu ích ở đây. –

2

Quay lại nơi bạn đã thêm bình. Tôi tin rằng tab thư viện của nó, tôi không có Eclipse mở nhưng điều đó nghe có vẻ đúng. phía bên trái của tệp jar bạn đã thêm có phải là mũi tên trỏ sang phải, nhấp vào đó và 3 hoặc 4 tùy chọn mở rộng, một trong số đó là tệp nguồn của thư viện. Nhấp vào đó và nhấp vào chỉnh sửa (tôi nghĩ bạn cũng có thể nhấp đúp vào nó), sau đó xác định vị trí tệp hoặc thư mục trên đĩa cứng của bạn, bạn có thể phải nhấp vào áp dụng hoặc được rồi và bạn tốt để đi, cùng với javadoc và tôi nghĩ rằng cuối cùng là thư viện gốc. Tôi không chú ý nhiều khi tôi ở đó nữa nếu bạn không thể nói. Đó là những gì bạn đang hỏi, phải không?

25

Sử dụng Java Source Attacher!

Nó không những gì thực nên làm -.. Một menu ngữ cảnh chuột phải nói rằng "Đính kèm Java Nguồn

enter image description here

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

+0

Tôi đã tìm thấy sự cố lớn với plugin này. Tôi có một tệp jar phụ thuộc maven được tải xuống và trong khi cố gắng lấy nguồn cho jar này; gặp lỗi "Rất tiếc nhưng không thể tìm thấy mã nguồn trong cơ sở dữ liệu của chúng tôi". Ngay cả sau khi cung cấp URL repo github; nó không bao giờ tải xuống các tệp nguồn – vikramvi

1

này làm việc cho tôi cho Eclipse Luna:.

  1. Nhấp chuột phải vào * .jar trong thư mục Tham chiếu Thư viện trong dự án của bạn, sau đó nhấp vào Properties
  2. Sử dụng trang Đính kèm nguồn Java để trỏ đến vị trí Không gian làm việc hoặc Vị trí bên ngoài vào mã nguồn của bình đó.
1

Tôi biết là khá muộn nhưng sẽ hữu ích cho người dùng khác, vì chúng tôi có thể thực hiện công việc bằng ba cách ... như bên dưới
1) 1. Atttach mã nguồn của bạn bằng cách sử dụng
tức là, Nhấp chuột phải vào dự án sau đó thuộc tính -> Đường dẫn xây dựng Java -> đính kèm nguồn của bạn vào tab nguồn hoặc bạn có thể xóa tệp jar và đính kèm nguồn trong tab thư viện
2. Sử dụng eclipse source Analyzer
Trong thị trường nhật thực, bạn có thể tải xuống trình phân tích nguồn java plugin được sử dụng để đính kèm mã nguồn của tệp nguồn mở của tệp jar. chúng ta có thể đạt được nó sau khi cài đặt plugin, bằng cách nhấp chuột phải vào lọ mã nguồn mở và chọn tùy chọn đính kèm nguồn.
3. Sử dụng Jadclipse trong nhật thực bạn có thể làm điều đó
cuối cùng không phải là ít nhất, bạn có thể đạt được các dịch ngược mã của bạn bằng cách sử dụng plugin này. nó tương tự như cách bạn có thể tải về các plugin từ eclipse thị trường diễn ra và cài đặt trong nhật thực của bạn. trong chế độ xem jadclipse, bạn có thể xem tệp .class của bạn để giải nén định dạng nguồn ở đây bạn không thể nhìn thấy chú thích và những điều bị ẩn

Tôi nghĩ trong kịch bản của bạn, bạn có thể sử dụng tùy chọn một và tùy chọn ba, tôi thích tùy chọn ba chỉ nếu tôi muốn vào mã nguồn không phải để gỡ lỗi mã. khác tôi sẽ mã tùy chọn 1, như tôi có nguồn đã có sẵn với.

0

Chỉ cần nhập gói của lớp nguồn bắt buộc vào mã của bạn từ bình.

Bạn có thể tìm các gói phụ jar trong

Eclipse - thư viện> Tham chiếu - - YourProject> yourJars -> Gói -> Clases

Like-- tôi gặp rắc rối với vấn đề mysql connector jar "tệp đính kèm nguồn không chứa nguồn" bằng cách cung cấp đường dẫn của thư mục nguồn, nó hiển thị câu lệnh này

The source attachment does not contain the source for the file StatementImpl.class 

Sau đó, tôi chỉ nhập khẩu các gói mysql connector jar có chứa các lớp theo yêu cầu:

import com.mysql.jdbc.*; 

tốt Sau đó chương trình đang làm việc.

0

Tôi gặp phải sự cố tương tự và được giải quyết bằng các bước dưới đây.Tới Windows-> Preferences-> Editors-> File Associations

đây click vào Add sau đó gõ .class nhấp chuột vào OK

lại click vào Add sau đó gõ .classwithoughtsource nhấp chuột vào OK

Bây giờ bạn sẽ có thể thấy tùy chọn JadClipse trong phần Java trong Windows-> Tuỳ chọn

Vui lòng cung cấp đường dẫn tệp jad.exe như bên dưới.

Đường dẫn cho Decompiler-C: \ Users \ AHR \ Documents \ eclipse-jee-galileo-SR2-win32 \ jad.exe Directory cho tạm thời tập tin-C: \ Users \ ahr.net.sf.jadclipse

nhấp vào Áp dụng

Bây giờ bạn sẽ có thể thấy các tệp lớp ở định dạng thích hợp.

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