Apakah ada cara mudah untuk melampirkan sumber di Eclipse?

130

Saya penggemar berat cara Visual Studio akan memberi Anda dokumentasi komentar / nama parameter ketika menyelesaikan kode yang telah Anda tulis dan kode JUGA yang Anda rujuk (berbagai perpustakaan / rakitan).

Apakah ada cara mudah untuk mendapatkan inline javadoc / nama parameter di Eclipse saat melakukan kode lengkap atau melayang di atas metode? Melalui plugin? Melalui beberapa pengaturan? Sangat menjengkelkan untuk menggunakan banyak perpustakaan (seperti yang sering terjadi di Jawa) dan kemudian harus pergi ke situs web atau lokasi javadoc lokal untuk mencari informasi ketika Anda memilikinya di toples sumber di sana!

Alex Argo
sumber
Apakah ada metode yang berbeda saat menggunakan plugin maven m2e?
cmcginty
1
Lihat juga: Bagaimana cara melampirkan javadoc atau sumber ke guci di folder libs? untuk cara melakukannya untuk Android di mana solusi di bawah ini tidak berfungsi.
blahdiblah

Jawaban:

153

Jawaban singkatnya adalah ya.

Anda dapat melampirkan sumber menggunakan properti untuk proyek.

Pergi ke Properties (untuk Proyek) -> Java Build Path -> Libraries

Pilih Perpustakaan yang Anda ingin lampirkan sumber / javadoc untuk dan kemudian memperluasnya, Anda akan melihat daftar seperti ini:

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

Pilih lokasi Javadoc dan kemudian klik Edit di sisi kanan kanan. Seharusnya cukup lurus ke depan dari sana.

Semoga berhasil :)

Henry B
sumber
3
Tentu saja Anda harus mencatat bahwa Anda juga dapat melakukan hal yang sama ke bagian Lampiran Sumber jika Anda memiliki sumber aktual yang ingin Anda lampirkan. Kemudian Anda mendapatkan Javadoc dan Anda dapat melihat sumber yang sebenarnya secara langsung jika Anda mau.
ColinD
14
Saya menyebut ini cara yang sulit dan menyakitkan untuk melampirkan sumber. Anda perlu melakukannya setiap kali Anda memasukkan file jar di setiap proyek yang Anda gunakan jar. Ketika Anda memiliki banyak stoples, dan banyak proyek, itu tidak baik.
James Moore
3
@ Jamesames, apakah ada cara yang lebih baik?
Felix
12
Terlalu banyak suara untuk jawaban ini! Jawaban 5-tahun yang ditingkatkan adalah guru sumber java yang disebutkan yang benar-benar cocok dengan "cara mudah".
sevenforce
1
Apa yang harus dilakukan ketika kita memiliki "non-modifikasi" pada lib?
Henrique de Sousa
108

Hingga kemarin saya dengan susah payah mengunduh ritsleting sumber untuk berton-ton botol dan melampirkannya secara manual untuk setiap proyek. Kemudian seorang kolega mengarahkan saya ke The Java Source Attacher . Itu tidak apa yang harus dilakukan gerhana - menu konteks klik kanan yang mengatakan "Lampirkan Java Source".

masukkan deskripsi gambar di sini

Secara otomatis mengunduh sumber untuk Anda dan melampirkannya. Saya hanya menekan beberapa perpustakaan yang tidak diketahuinya dan ketika itu terjadi, Anda dapat berkontribusi kembali ke komunitas sehingga tidak ada orang lain yang memiliki masalah dengan perpustakaan itu.

Tterrace
sumber
Ini bekerja, tetapi apakah ada cara mudah untuk mendapatkan dari metode yang Anda periksa ke toples yang berasal dari Project Explorer?
Noumenon
Perhatikan bahwa .jarfile tidak menyimpan folder proyek Anda, jadi Anda .classpathtidak akan portabel jika Anda berkolaborasi dengan orang lain.
Stevoisiak
14

Cara mudah untuk melakukan ini adalah:

  1. Unduh file / folder SRC masing-masing.

  2. Di editor gerhana, Ctrl + klik atau F3 pada metode / kelas yang Anda butuhkan sumbernya. Tab baru terbuka yang mengatakan "Tidak ada sumber terlampir yang ditemukan".

  3. Klik tombol "lampirkan sumber", klik tombol "lampirkan sumber folder", telusuri ke lokasi folder SRC yang diunduh. Selesai!

(ps: Label tombol mungkin sedikit berbeda, tetapi ini cukup banyak.)

NM
sumber
5

Saya telah menemukan bahwa kadang-kadang, Anda menunjuk ke direktori yang Anda anggap benar, dan kemudian masih menyatakan bahwa itu tidak dapat menemukan file dalam sumber terlampir bla bla.

Kali ini, saya menyadari bahwa elemen path terakhir adalah "src". Hanya menghapus elemen path ini (dengan demikian menunjuk satu tingkat di atas path aktual di mana folder "org" atau "com" berada) secara ajaib membuatnya berfungsi.

Entah bagaimana, Eclipse tampaknya menyiratkan elemen path "src" ini jika ada, dan jika Anda memasukkannya ke dalam path sumber, Eclipse tersedak. Atau semacam itu.

stolsvik
sumber
Saya memiliki masalah yang sama: sumbernya ada di direktori yang disebut "sumber" (di mana "org" dll berada) tetapi saya tidak bisa membuat Eclipse menggunakannya ketika Ctrl + mengklik nama metode. Sebagai gantinya saya mendapatkan tampilan kode byte. Saya mencoba mengubah namanya menjadi "src", menggunakan "org" sebagai direktori, atau yang di atas "sumber" tetapi tidak ada yang berubah ...
Matthieu
Saya tidak percaya bahwa Eclipse menganggap srcitu bagian dari jalan. Cukup pilih folder yang berisi folder bernama setelah nama domain tingkat atas dari paket.
H2ONaCl
@broiyan: Lucu bahwa Anda tidak percaya itu, ketika saya baru saja menyatakan bahwa ini adalah apa yang secara empiris saya alami ! :-)
stolsvik
5

ya ada cara mudah ... pergi ke ... http://sourceforge.net/projects/jdk7src/ dan unduh file zip. Kemudian pasang ini ke gerhana. Berikan jalur tempat Anda mengunduh file zip di gerhana. Kami kemudian dapat menelusuri sumbernya.

Ambika
sumber
5

1) Tahan Kontrol + klik kiri pada metode yang ingin Anda lihat. Kemudian Eclipse akan membawa Anda ke halaman Sumber Tidak Ditemukan.

2) Klik pada "Lampirkan Sumber" masukkan deskripsi gambar di sini

3) masukkan deskripsi gambar di sini

4) Navigasikan ke C: \ Program Files \ Java \ jdk-9.0.1 \ lib \ src.zip

5) Klik OK masukkan deskripsi gambar di sini Sekarang Anda akan melihat kode sumber.

Gene
sumber
4

Ketika Anda menambahkan file jar ke classpath Anda bisa melampirkan direktori sumber atau file zip atau jar ke jar itu. Di properti Java Build Path, pada tab Libraries, perluas entri untuk jar dan Anda akan melihat ada item untuk lampiran sumber. Pilih item ini dan kemudian klik tombol Edit. Ini memungkinkan Anda memilih folder, toples atau zip yang berisi sumber.

Selain itu, jika Anda memilih kelas atau metode dalam toples dan CTRL + KLIK di atasnya (atau tekan F3) maka Anda akan masuk ke tampilan bytecode yang memiliki opsi untuk melampirkan kode sumber.

Melakukan hal-hal ini akan memberi Anda semua nama parameter serta javadoc penuh.

Jika Anda tidak memiliki sumber tetapi memiliki javadoc, Anda dapat melampirkan javadoc melalui metode pertama. Ia bahkan dapat mereferensikan URL eksternal jika Anda belum mengunduhnya.

Mat
sumber
3
  1. Klik pada kode JAVA yang ingin Anda lihat. (Klik Daftar untuk membuka List.java jika Anda ingin memeriksa kode sumber untuk java.util.List)
  2. Klik tombol "Lampirkan Sumber".
  3. Anda akan diminta untuk "Pilih lokasi (folder, JAR atau zip) yang berisi sumber untuk rt.jar).
  4. Pilih opsi "Lokasi eksternal". Temukan file src.zip.
  5. Path untuk src.zip adalah: * \ Java \ jdk1.8.0_45 \ src.zip
BSM
sumber
2
  1. Masukkan file sumber ke file zip (seperti halnya untuk sumber java)
  2. Buka Properti proyek -> Perpustakaan
  3. Pilih lampiran Sumber dan klik 'Edit'
  4. Konfigurasi Lampiran Lampiran Sumber klik 'Variabel'
  5. Pada "Pemilihan Variabel" klik 'Baru'
  6. Masukkan nama yang bermakna dan pilih file zip yang dibuat pada langkah 1
Ranga
sumber
1

Pilihan lain adalah klik kanan pada file jar Anda yang berada di bawah (Proyek Anda) -> Perpustakaan Referensi -> (jar Anda) dan klik pada properti. Kemudian klik pada Java Source Attachment. Dan kemudian di jalur lokasi dimasukkan ke lokasi untuk file jar sumber Anda.

Ini hanyalah pendekatan lain untuk melampirkan file sumber Anda.

Penjahit Nilesh
sumber
1

Jika Anda membangun perpustakaan Anda dengan gradle, Anda bisa melampirkan sumber ke guci yang Anda buat dan kemudian gerhana akan menggunakannya secara otomatis. Lihat jawabannya oleh @MichaelOryl Cara membangun sumber jar dengan gradle .

Disalin di sini untuk referensi Anda:

jar {
    from sourceSets.main.allSource
}

Solusi yang ditunjukkan adalah untuk digunakan dengan plugin java gradle. Mileage dapat bervariasi jika Anda tidak menggunakan plugin itu.

Joshua Richardson
sumber
0

Pemikiran lain untuk membuatnya lebih mudah ketika menggunakan bangunan otomatis:

Saat Anda membuat tabung dari salah satu proyek Anda, juga membuat tabung file sumber:
project.jar
project-src.jar

Alih-alih masuk ke dialog opsi jalur build untuk menambahkan referensi sumber ke setiap toples, cobalah yang berikut: tambahkan satu referensi sumber melalui dialog. Edit .classpath Anda dan gunakan entri jar pertama sebagai templat, tambahkan file tabung sumber ke masing-masing stoples lainnya.

Dengan cara ini Anda dapat menggunakan alat bantu navigasi Eclipse semaksimal mungkin sambil tetap menggunakan sesuatu yang lebih mandiri untuk membangun proyek Anda.

Akrikos
sumber
0

Saya akan meminta alternatif untuk melampirkan sumber ke JAR yang sama yang digunakan di beberapa proyek. Awalnya, saya berpikir bahwa satu-satunya alternatif adalah membangun kembali JAR dengan menyertakan sumber tetapi melihat fitur "perpustakaan pengguna", Anda tidak harus membangun JAR dengan sumbernya.

Ini adalah alternatif ketika Anda memiliki beberapa proyek (terkait atau tidak) yang mereferensikan JAR yang sama. Buat "pustaka pengguna" untuk setiap JAR dan lampirkan sumbernya. Lain kali Anda membutuhkan JAR tertentu, alih-alih menggunakan "Tambahkan JAR ..." atau "Tambahkan JAR Eksternal ..." Anda menambahkan "perpustakaan pengguna" yang sebelumnya Anda buat.

Anda hanya perlu melampirkan sumber SEKALI per JAR dan dapat menggunakannya kembali untuk sejumlah proyek.

nevets1219
sumber
0

Bagi mereka yang menulis plugin Eclipse dan ingin memasukkan sumber ... di fitur ExportWizard ada opsi untuk menyertakan sumber: masukkan deskripsi gambar di sini

Stefan
sumber
0

Cukup klik pada sumber lampirkan dan pilih jalur folder ... nama akan sama dengan nama folder (dalam kasus saya). Ingat satu hal yang perlu Anda pilih jalur ke lokasi basis folder proyek dengan "\" di akhiran D: \ MyProject \

Gaurav Deshmukh
sumber
-2

Ini mungkin terlihat seperti berlebihan, tetapi jika Anda menggunakan maven dan menyertakan sumber, plugin gerhana mvn akan menghasilkan semua konfigurasi sumber yang diperlukan untuk memberikan semua dokumentasi in-line yang bisa Anda minta.

Alex Argo
sumber
1
Namun seiring dengan itu, dibutuhkan palu godam untuk sistem build Eclipse normal Anda, menghancurkan apa pun yang dulu berfungsi.
James Moore