InggrisPerancisSpanyol

Ad


favorit OnWorks

clirr - Online di Cloud

Jalankan clirr di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah clirr yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


clirr - Periksa kompatibilitas sumber dan biner perpustakaan Java

RINGKASAN


klirr -o jar tua -n botol baru [Pilihan]

DESKRIPSI


Clirr adalah alat yang memeriksa perpustakaan Java untuk biner dan kompatibilitas sumber dengan yang lebih lama
rilis. Pada dasarnya Anda memberikannya dua set file jar dan Clirr mengeluarkan daftar
perubahan dalam API publik.

PILIHAN


-a, --tampilkan-semua-cakupan

tampilkan kelas privat dan paket

-f, --berkas keluaran

nama file keluaran

-i, --termasuk-pkg

hanya menyertakan kelas dari paket ini dan subpaketnya

-n, --versi baru

file jar versi baru

-ncp, --jalur kelas baru

classpath pihak ke-3 yang direferensikan oleh versi baru

-o, --versi lama

file jar versi lama

-okp, --jalur kelas asal

classpath pihak ke-3 yang direferensikan oleh versi lama

-p, --tunjukkan-lingkup pkg

tampilkan kelas cakupan paket

-s, --gaya [teks|xml]

gaya keluaran

PESAN


Ketika clirr menghasilkan pesan KESALAHAN, PERINGATAN, atau INFO tentang perubahan pada stoples yang
dibandingkan, ada kode referensi pesan terkait. Panduan ini berisi
penjelasan tentang arti pesan yang mungkin mengandung informasi yang tidak dapat
dipasang ke dalam ringkasan pesan singkat.

Pesan dipisahkan menjadi tiga tingkat keparahan: ERROR, WARNING, dan INFO.

Kesalahan datang dalam dua rasa:

Kegagalan tautan-waktu, di mana pengecualian akan dilemparkan segera setelah kode dikompilasi
terhadap versi lama dari kelas dan versi baru dari kelas dimuat ke
hierarki classloader yang sama.

Kegagalan run-time, di mana pengecualian dilemparkan ketika kode dikompilasi dengan yang lama
versi kelas mencoba memanggil metode pada versi baru kelas, atau sebaliknya
sebaliknya.

Clirr melaporkan "kesalahan" untuk kasus di mana dimungkinkan untuk mendapatkan kegagalan run-time. Apakah
yang benar-benar terjadi dapat bergantung pada cara perpustakaan dipanggil, yaitu perubahan yang dilaporkan
sebagai kesalahan sebenarnya dapat berfungsi ketika digunakan selama pola penggunaan perpustakaan melakukannya
tidak memicu situasi kegagalan.

Peringatan dikeluarkan untuk situasi di mana tidak ada tautan atau pengecualian runtime yang akan terjadi, tetapi
di mana aplikasi mungkin berperilaku tidak terduga karena perubahan yang telah terjadi.

Pesan informasi memberikan informasi kepada pengguna tentang fitur-fitur baru yang telah
ditambahkan tanpa merusak kompatibilitas dengan cara apa pun.

Saat menggunakan clirr untuk melaporkan perubahan pada item yang memiliki cakupan pribadi atau paket, ini:
perubahan selalu dilaporkan sebagai perubahan tingkat INFO, tidak pernah tingkat PERINGATAN atau KESALAHAN. Ini
memungkinkan pengguna clirr untuk menghasilkan "laporan perubahan" pada tingkat yang sesuai untuk pengembang
tanpa memiliki beberapa perubahan yang ditandai (secara tidak relevan) sebagai ketidakcocokan biner.

Tidak akan pernah ada ketidakcocokan biner untuk perubahan pada kelas privat, metode atau
bidang karena akses itu hanya dapat terjadi dari dalam kelas yang sama (yaitu kompilasi yang sama
satuan).

Clirr tidak melaporkan ketidakcocokan biner PERINGATAN atau KESALAHAN untuk item cakupan paket
baik, karena paket Java dimaksudkan untuk menjadi "unit rilis", yaitu semua kelas di dalam
sebuah paket dikompilasi bersama (memastikan kompatibilitas) kemudian dirilis sebagai satu unit. Satu-satunya
waktu ketidaksesuaian cakupan paket mungkin menjadi masalah adalah ketika pengguna a
perpustakaan menulis kelas mereka sendiri menggunakan deklarasi paket milik beberapa eksternal
perpustakaan, atau ketika subset dari kelas yang diperbarui (misalnya satu kelas) dari sebuah paket digunakan
untuk mengganti kelas tertentu dari rilis perpustakaan sebelumnya. Keduanya
situasi dianggap praktik yang sangat buruk oleh konvensi pemrograman Java.

Di bagian berikut, istilah "lama" digunakan untuk merujuk ke kelas, antarmuka, metode
atau bidang dari set toples yang mewakili versi lama/sebelumnya/asli/dasar
perpustakaan yang diperiksa. Istilah "baru" digunakan untuk merujuk ke kelas, antarmuka,
metode atau bidang dari kumpulan toples yang mewakili versi baru/saat ini/terbaru dari
perpustakaan yang diperiksa.

Pada bagian berikut, istilah "jenis" digunakan untuk merujuk pada sesuatu yang mungkin:
baik kelas atau antarmuka.

1000 - Peningkatan jarak penglihatan of kelas

Keparahan: INFO

Jenis yang ditentukan ada di kedua versi, tetapi penentu akses yang dideklarasikan memiliki
diubah untuk melonggarkan pembatasan pada kode lain yang dapat mengaksesnya.

Tipe tingkat atas (yaitu yang tidak bersarang di dalam kelas lain) hanya boleh memiliki
aksesibilitas "paket" atau "publik". Jenis bersarang dapat mengambil salah satu dari empat
nilai aksesibilitas yang tersedia.

Terlepas dari apakah objek tersebut tingkat atas atau bersarang, perubahan dalam aksesibilitas
dari kiri ke kanan urutan private->package->protected->public always
memastikan bahwa semua kode yang sebelumnya dapat mengakses jenis itu masih dapat mengaksesnya
Tipe. Oleh karena itu perubahan seperti itu selalu kompatibel dengan biner dan kode sumber.

Perhatikan bahwa deklarasi "dilindungi" menyediakan akses ke kedua kode yang berasal dari
ketik dan kode dalam paket yang sama, yaitu aksesibilitas "dilindungi" juga menyiratkan
aksesibilitas paket.

1001 - Penurunan jarak penglihatan of kelas

Tingkat keparahan: ERROR

Jenis yang ditentukan ada di kedua versi, tetapi penentu akses yang dideklarasikan memiliki
diubah untuk memperketat batasan pada kode apa yang dapat mengaksesnya.

Tipe tingkat atas (yaitu yang tidak bersarang di dalam kelas lain) hanya boleh memiliki
aksesibilitas "paket" atau "publik". Jenis bersarang dapat mengambil salah satu dari empat
nilai aksesibilitas yang tersedia.

Terlepas dari apakah jenisnya tingkat atas atau bertingkat, perubahan dalam aksesibilitas
dari kiri ke kanan urutan public->protected->package->private dapat menyebabkan
kode yang ada yang sebelumnya dapat mengakses tipe tersebut tidak lagi dapat melakukannya.

Bagian 13.4.3 dari Spesifikasi Bahasa Java menyatakan secara eksplisit bahwa sebuah
IllegalAccessError harus terjadi jika biner yang sudah ada mencoba mengakses tipe
ketika jenis aksesibilitas telah diubah menjadi sesuatu yang akan menyebabkan
kesalahan waktu kompilasi. Namun hal ini tampaknya tidak diterapkan dalam praktik, di
setidaknya di JVM saat ini. Namun demikian ini seharusnya merupakan kesalahan, dan begitulah laporan clirr
perubahan ini sebagai ERROR kompatibilitas biner.

2000 - Berubah dari kelas untuk antarmuka

Tingkat keparahan: ERROR

Kelas yang ditentukan telah menjadi antarmuka di versi baru. Perubahan ini adalah
selalu ketidakcocokan biner dan kode sumber, untuk alasan yang jelas.

2001 - Berubah dari antarmuka untuk kelas

Tingkat keparahan: ERROR

Antarmuka yang ditentukan telah menjadi kelas dalam versi baru. Perubahan ini adalah
selalu ketidakcocokan biner dan kode sumber, untuk alasan yang jelas.

3001 - Dihapus terakhir pengubah dari kelas

Keparahan: INFO

Kelas yang ditentukan dinyatakan final di versi lama, tetapi tidak lagi final
dalam versi baru.

3002 - Ditambahkan terakhir pengubah untuk efektif terakhir kelas

Keparahan: INFO

Kelas yang ditentukan tidak dinyatakan final di versi lama, tetapi sekarang dideklarasikan
terakhir. Biasanya, ini akan menjadi ketidakcocokan karena turunan yang sudah ada sebelumnya
kelas tidak lagi valid bila digunakan dengan versi baru dari kelas ini.
Namun dalam kasus ini versi kelas lama tidak memiliki konstruktor publik atau yang dilindungi,
jadi tidak mungkin ada kelas turunan bahkan untuk versi lama
Perpustakaan. Mengubah kelas seperti itu menjadi final karena itu tidak dapat merusak yang ada
kode.

3003 - Ditambahkan terakhir pengubah untuk kelas

Tingkat keparahan: ERROR

Kelas yang ditentukan tidak dinyatakan final di versi lama, tetapi sekarang dideklarasikan
terakhir. Setiap kelas yang sudah ada sebelumnya yang dideklarasikan sebagai subkelas dari kelas ini
karena itu tidak akan valid dengan versi perpustakaan yang baru.

VerifyError dilempar oleh classloader ketika upaya dilakukan untuk memuat a
subclass dari kelas akhir.

Perhatikan bahwa kelas Y dimuat oleh classloader standar hanya ketika yang pertama
upaya dilakukan untuk membuat turunan dari Y, atau untuk secara langsung merujuk Kelas
objek untuk kelas Y. Jika beberapa kelas X lain memiliki kelas Y sebagai anggota yang dideklarasikan, atau sebagai a
parameter ke beberapa metode, maka memuat kelas X tidak menyebabkan kelas Y dimuat.

3004 - Dihapus abstrak pengubah dari kelas

Keparahan: INFO

Versi lama dari kelas ini dinyatakan sebagai kelas abstrak. Versi baru
tidak abstrak, memungkinkan pengguna untuk membuat instance kelas.

3005 - Ditambahkan abstrak pengubah untuk kelas

Tingkat keparahan: ERROR

Versi lama dari kelas ini tidak dinyatakan sebagai abstrak. Versi baru adalah
abstrak. Kode yang sudah ada sebelumnya yang membuat instance kelas ini tidak lagi
berlaku dengan versi baru.

4000 - Ditambahkan antarmuka untuk itu set of diimplementasikan interface

Keparahan: INFO

Versi baru dari tipe ini sekarang mengimplementasikan antarmuka tambahan. Ini tidak
membatalkan kode yang ada (sumber atau biner), dan sepenuhnya
perubahan yang kompatibel ke belakang.

Perhatikan bahwa pesan ini dapat dilaporkan tanpa perubahan apa pun yang terjadi di
jenis yang ditentukan; perubahan pada set antarmuka yang didukung oleh suatu tipe akan menyebabkan
pesan ini akan dilaporkan untuk setiap keturunan dari jenis itu.

4001 - Dihapus antarmuka dari itu set of diimplementasikan interface

Tingkat keparahan: ERROR

Versi lama dari jenis ini menyatakan bahwa ia mengimplementasikan antarmuka yang
kelas atau antarmuka baru tidak. Kode yang ada yang secara eksplisit atau implisit dilemparkan
objek jenis ini ke antarmuka yang sekarang hilang tidak lagi valid.

Perhatikan bahwa pesan ini dapat dilaporkan tanpa perubahan apa pun yang terjadi di
jenis yang ditentukan; perubahan pada set antarmuka yang didukung oleh suatu tipe akan menyebabkan
pesan ini akan dilaporkan untuk setiap keturunan dari jenis itu.

5000 - Ditambahkan kelas untuk itu set of kelas super

Keparahan: INFO atau PERINGATAN

Versi baru dari kelas memiliki kelas dalam hierarki pewarisannya yang lama
versi tidak, baik karena induk langsungnya sekarang adalah kelas yang berbeda, atau
karena salah satu kelas induknya telah mengubah hierarki pewarisannya.

Jika kelas yang ditentukan memiliki java.lang.Throwable sebagai leluhur, maka perubahan ini adalah
dilaporkan sebagai PERINGATAN, karena perubahan kelas ini dapat mengubah penangkapan pengecualian
perilaku program yang menggunakan kelas ini.

Perhatikan bahwa pesan ini dapat dilaporkan tanpa perubahan apa pun yang terjadi di
kelas tertentu; perubahan pada himpunan superclass dari kelas leluhur akan
menyebabkan pesan ini dilaporkan untuk setiap kelas turunan.

5001 - Dihapus kelas dari itu set of kelas super

Tingkat keparahan: ERROR

Versi lama dari kelas ini memiliki kelas dalam hierarki pewarisannya yang
versi baru tidak, baik karena induk langsungnya sekarang adalah kelas yang berbeda, atau
karena salah satu kelas induknya telah mengubah hierarki pewarisannya.

Kode yang ada yang secara eksplisit atau implisit mentransmisikan objek jenis ini ke saat ini
jenis kelas yang hilang tidak lagi valid.

Perhatikan bahwa pesan ini dapat dilaporkan tanpa perubahan apa pun yang terjadi di
kelas tertentu; perubahan pada himpunan superclass dari kelas leluhur akan
menyebabkan pesan ini dilaporkan untuk setiap kelas turunan.

Perhatikan juga bahwa jika kelas ini memiliki Throwable dalam leluhurnya, maka kelas
perubahan hierarki juga dapat menyebabkan perubahan dalam perilaku menangkap pengecualian dari
program yang menggunakan kelas ini.

6000 - Ditambahkan bidang

Keparahan: INFO

Kelas baru memiliki anggota statis atau instance tambahan. Perubahan ini adalah
sepenuhnya kompatibel ke belakang.

6001 - Dihapus bidang

Tingkat keparahan: ERROR

Kelas baru telah menghapus bidang yang ada di versi lama. Kode yang sudah ada sebelumnya
yang secara langsung mengakses bidang itu tidak akan valid lagi.

6002 - Nilai of bidang tidak lagi a kompilasi-waktu konstan

Keparahan: PERINGATAN

Kode yang dikompilasi terhadap versi lama kelas diizinkan untuk "menyejajarkan" dengan
nilai bidang ini karena merupakan konstanta waktu kompilasi. Oleh karena itu, eksis
kode biner akan terus menggunakan nilai lama bidang ini, bukan yang baru
nilai (yang tidak dapat digarisbawahi).

6003 - Nilai of kompilasi-waktu konstan memiliki berubah

Keparahan: PERINGATAN

Kode yang dikompilasi terhadap versi lama kelas diizinkan untuk "menyejajarkan" dengan
nilai bidang ini karena merupakan konstanta waktu kompilasi. Oleh karena itu, eksis
kode biner akan terus menggunakan nilai lama bidang ini, bukan yang baru
nilai.

6004 - Bidang mengetik berubah

Tingkat keparahan: ERROR

Jenis yang terkait dengan anggota statis atau instance tertentu dari yang ditentukan
kelas telah berubah. Kode yang sudah ada sebelumnya yang secara langsung mengakses bidang itu mungkin tidak
lagi berlaku, dan karena itu ini adalah perubahan yang tidak kompatibel.

6005 - Bidang sekarang non-final

Keparahan: INFO

Bidang itu sebelumnya final, dan tidak lagi final. Ini berarti bahwa lapangan
nilai sekarang dapat dimodifikasi selama masa kelas atau instance.

Apakah suatu nilai dalam suatu bidang sebelumnya dapat "digarisbawahi" ke dalam kelas lain adalah suatu
masalah yang ditangani oleh pesan 6002 dan 6003, bukan pesan ini.

6006 - Bidang sekarang terakhir

Tingkat keparahan: ERROR

Bidang tidak dapat lagi dimodifikasi selama masa aktif kelas atau instance.
Oleh karena itu, kode yang sebelumnya mengubah bidang ini tidak lagi valid.

6007 - Bidang sekarang non-statis

Tingkat keparahan: ERROR

Bidang sekarang menjadi variabel instan daripada variabel kelas. Kode yang
sebelumnya mengakses bidang ini melalui Kelas daripada turunan dari kelas
sudah tidak berlaku.

6008 - Bidang sekarang statis

Tingkat keparahan: ERROR

Bidang sekarang menjadi variabel kelas daripada variabel instan.

Untuk beberapa alasan (mungkin masalah implementasi internal), standar Java
menyatakan bahwa perubahan ini tidak kompatibel dengan biner, dan bahwa
IncompatibleClassChangeError akan dilempar jika kode dikompilasi dengan "lama"
versi kelas digunakan bersama dengan versi "baru" yang bidangnya sekarang
statis.

Karena kode sumber diizinkan untuk mengakses variabel kelas melalui instance itu
class, ini diharapkan menjadi perubahan yang kompatibel dengan kode sumber. Namun saat ini
CLIRR melaporkan ini sebagai ERROR untuk kompatibilitas kode sumber juga.

6009 - Bidang More Diakses

Keparahan: INFO

Dalam versi baru, bidang yang ditentukan dapat diakses oleh lebih banyak kode daripada sebelumnya
sebelumnya.

6010 - Bidang kurang Diakses

Tingkat keparahan: ERROR

Dalam versi baru, bidang yang ditentukan dapat diakses dengan kode yang lebih sedikit daripada sebelumnya
sebelumnya. Oleh karena itu kode yang ada mungkin tidak lagi valid.

6011 - Dihapus konstan Bidang

Tingkat Keparahan Biner: PERINGATAN

Tingkat Keparahan Sumber: ERROR

Kelas baru telah menghapus bidang yang ada di versi lama. Sumber yang sudah ada sebelumnya
kode yang secara langsung mengakses bidang itu tidak akan valid lagi.

Namun, sebelumnya, bidang itu final dan diinisialisasi dengan nilai konstan.
Oleh karena itu kode yang dikompilasi terhadap versi kelas sebelumnya akan memiliki inline
konstanta ini dan akan terus bekerja, menggunakan nilai sebelumnya dari bidang ini. A
peringatan dikeluarkan karena ini seringkali bukan perilaku yang diinginkan. Namun itu bukan
ketidakcocokan biner.

7000 - metode sekarang in Kelas Super

Keparahan: INFO

Kelas lama memiliki metode bernama X. Kelas baru tidak lagi memiliki metode ini, tetapi a
kelas induk mendefinisikan metode ini, jadi tidak ada ketidakcocokan biner atau sumber
terjadi.

Perhatikan bahwa perubahan ini mungkin memiliki efek memaksa kelas baru menjadi
'abstrak'. Jika ini masalahnya, maka perubahan ini dilaporkan secara terpisah.

7001 - metode sekarang in Antarmuka

Keparahan: INFO

Kelas atau antarmuka lama sebelumnya memiliki metode bernama X. Kelas baru atau
antarmuka tidak lagi memiliki metode ini, tetapi antarmuka induk mendefinisikan ini
metode, jadi tidak ada ketidakcocokan biner atau sumber yang terjadi.

Perhatikan bahwa perubahan ini mungkin memiliki efek memaksa kelas baru menjadi
'abstrak'. Jika ini masalahnya, maka perubahan ini dilaporkan secara terpisah.

7002 - metode Dihapus

Tingkat keparahan: ERROR

Kelas atau antarmuka lama memiliki metode bernama X. Kelas atau antarmuka baru tidak
lagi memiliki metode ini, dan metode ini tidak didefinisikan pada kelas induk atau
Antarmuka.

Apakah kesalahan benar-benar terjadi saat runtime untuk perubahan ini tergantung pada penggunaan
pola. Kelas yang dimodifikasi dapat digunakan dengan kode yang ada selama itu
kode yang ada tidak mencoba memanggil metode yang dihapus. Jika panggilan ke yang hilang
metode dibuat, maka pengecualian NoSuchMethodError dihasilkan ketika metode
terjadi pemanggilan.

7003 - metode Kesampingkan Dihapus

Keparahan: INFO

Metode yang ditentukan pada kelas atau antarmuka lama menggantikan metode yang diwarisi
definisi. Kelas atau antarmuka baru tidak lagi memiliki metode ini secara eksplisit
dideklarasikan di atasnya, tetapi masih mewarisi definisi sehingga tidak ada biner
ketidakcocokan. 7004 - Jumlah Argumen Metode Berubah

Tingkat keparahan: ERROR

Metode yang ditentukan memiliki argumen yang ditambahkan atau dihapus. Ini berarti bahwa kode yang
sebelumnya dipanggil itu tidak akan lagi memanggil metode yang sama.

Jika ada definisi metode yang diwarisi dengan prototipe lama, maka tidak ada
ketidakcocokan biner; kode yang dikompilasi terhadap versi lama ini
class sekarang akan memanggil implementasi yang diwarisi. Dalam situasi ini, clirr harus
output pesan INFO daripada kesalahan. Namun pada tanggal saat ini, clirr
tidak memeriksa situasi ini.

Jika tidak ada definisi metode yang diwarisi dengan prototipe lama, maka perubahannya
adalah ketidakcocokan biner.

7005 - metode Argumen Tipe berubah

Tingkat Keparahan Biner: INFO atau ERROR

Tingkat Keparahan Sumber: ERROR

Metode yang ditentukan telah memiliki tipe satu atau lebih argumennya yang dimodifikasi.
Ini berarti kode yang dikompilasi terhadap versi lama kelas tidak akan lagi
memanggil metode yang sama. Namun kode sumber lama yang sama persis, saat dikompilasi
terhadap versi kelas baru dapat memanggil metode ini jika tipe argumennya adalah
kompatibel dengan tugas.

Jika ada definisi metode yang diwarisi dengan prototipe lama, maka tidak ada
ketidakcocokan biner; kode yang dikompilasi terhadap versi lama ini
class sekarang akan memanggil implementasi yang diwarisi. Pada tanggal saat ini, clirr tidak
tidak memeriksa situasi ini.

Jika tidak ada definisi metode yang diwarisi dengan prototipe lama, maka perubahannya
adalah ketidakcocokan biner.

Jika tipe parameter yang diubah semuanya diubah menjadi supertipe sebelumnya
tipe yang dideklarasikan, atau untuk tipe parameter primitif jika diubah menjadi "lebih besar"
ketik dalam setiap kasus, maka kode baru kompatibel dengan kode sumber dengan yang sebelumnya
rilis meskipun tidak kompatibel dengan biner. Perhatikan bahwa dalam situasi ini,
mengkompilasi ulang kode yang menggunakan perpustakaan dapat mengubah perilakunya dari memanggil dan
mewarisi metode untuk memanggil metode pada kelas yang memiliki sedikit berbeda
prototipe. Pada tanggal saat ini, clirr tidak memeriksa situasi ini.

7006 - metode Pengembalian Tipe berubah

Tingkat Keparahan Biner: ERROR

Tingkat Keparahan Sumber: INFO atau ERROR

Metode yang ditentukan telah mengubah tipe pengembalian yang dideklarasikan. Apakah masalah
sebenarnya terjadi saat runtime ketika menggunakan kode yang dikompilasi terhadap versi lama ini
perpustakaan tergantung pada pola penggunaan. Kode lama dapat memanggil metode lain di kelas ini.
Namun setiap upaya untuk memanggil metode yang tipe pengembaliannya telah berubah akan menghasilkan
a NoSuchMethodError dilemparkan saat metode dipanggil, karena pengembaliannya
type adalah bagian dari "tanda tangan metode".

Perubahan tersebut kompatibel dengan kode sumber jika dan hanya jika tipe pengembalian baru adalah
dapat dialihkan ke tipe pengembalian lama. Ini berarti bahwa:

jika tipe pengembalian lama adalah tipe primitif, maka tipe pengembalian baru harus
lebih sempit dari tipe lama.
jika tipe pengembalian lama adalah antarmuka, maka tipe pengembalian baru harus a
kelas atau antarmuka yang mengimplementasikan tipe pengembalian lama.
jika tipe pengembalian lama adalah kelas, maka tipe pengembalian baru harus berupa subkelas
dari tipe yang dikembalikan sebelumnya.

Clirr saat ini tidak memeriksa kompatibilitas kode sumber untuk perubahan metode
jenis pengembalian; saat ini ini hanya dilaporkan sebagai KESALAHAN.

7007 - metode memiliki menjadi Ditinggalkan

Keparahan: INFO

Metode yang ditentukan telah dinyatakan sebagai "usang". Ini selalu
perubahan yang kompatibel dengan biner serta perubahan yang kompatibel dengan kode sumber.

7008 - metode memiliki menjadi Tidak digunakan lagi

Keparahan: INFO

Metode yang ditentukan dinyatakan "usang" di versi sebelumnya, tetapi tidak
lagi usang dalam rilis saat ini. Meskipun sedikit tidak biasa, ini adalah
diizinkan. Perubahan ini selalu merupakan perubahan yang kompatibel dengan biner serta
perubahan yang kompatibel dengan kode sumber.

7009 - metode is sekarang kurang Diakses

Tingkat keparahan: ERROR

Izin akses yang terkait dengan metode yang ditentukan telah diperketat menjadi
mengizinkan lebih sedikit kode pengguna untuk mengakses metode.

Apakah perubahan ini merupakan masalah kompatibilitas kode sumber atau tidak tergantung pada
pola penggunaan.

Perubahan ini harus berupa ketidakcocokan biner. Namun, perhatikan bahwa JVM saat ini melakukannya
tidak memvalidasi ini. Kode yang dikompilasi dengan versi kelas sebelumnya dapat
berhasil memanggil metode yang hak aksesnya tidak lagi mereka miliki.
Namun demikian, Spesifikasi Bahasa Java menyatakan bahwa ini adalah kesalahan, jadi
clirr melaporkan perubahan ini sebagai ketidakcocokan biner.

7010 - metode is sekarang More Diakses

Keparahan: INFO

Izin akses yang terkait dengan metode yang ditentukan telah dilonggarkan ke
mengizinkan lebih banyak kode pengguna untuk mengakses metode. Ini selalu merupakan biner dan kode sumber
perubahan yang kompatibel.

7011 - metode Ditambahkan

Keparahan: INFO

Metode non-abstrak telah ditambahkan ke kelas yang ditentukan. Ini selalu
perubahan yang kompatibel dengan biner.

Ini juga merupakan perubahan yang kompatibel dengan kode sumber.

T: jika metode baru menimpa metode yang diwarisi, lalu versi mana yang mengkode
dikompilasi terhadap permintaan perpustakaan lama?

7012 - metode Ditambahkan untuk Antarmuka

Tingkat Keparahan Biner: ERROR

Tingkat Keparahan Sumber: ERROR

Deklarasi metode telah ditambahkan ke antarmuka yang ditentukan. Ini selalu
dilaporkan sebagai kesalahan kompatibilitas biner, tetapi dalam praktiknya kelas yang diubah mungkin
berhasil digunakan dengan kode yang dikompilasi terhadap antarmuka lama tergantung pada
pola penggunaan.

Kode lama yang memanggil metode pada kode yang dikompilasi terhadap yang baru (diperluas)
antarmuka akan terus bekerja tanpa masalah. Dan kode lama yang mengimplementasikan
versi lama dari antarmuka juga akan terus bekerja dengan benar selama tidak ada
kode mencoba untuk memanggil salah satu metode yang baru ditambahkan terhadap instance itu. Tetapi
kode yang (secara sah) memanggil salah satu metode baru di antarmuka terhadap
objek yang hanya mengimplementasikan antarmuka versi lama akan menyebabkan
AbstractMethodError akan dilempar pada saat pemanggilan metode dicoba.

Menambahkan metode ke antarmuka selalu dilaporkan sebagai KESALAHAN, karena kelas
yang mengimplementasikan antarmuka itu sekarang harus dimodifikasi untuk mengimplementasikan yang dideklarasikan
Metode.

7013 - Abstrak metode Ditambahkan untuk Kelas

Tingkat Keparahan Biner: ERROR

Tingkat Keparahan Sumber: ERROR

Deklarasi metode abstrak telah ditambahkan ke kelas yang ditentukan. Ini adalah
selalu dilaporkan sebagai kesalahan kompatibilitas biner, tetapi dalam praktiknya kelas yang diubah
mungkin berhasil digunakan dengan kode yang dikompilasi terhadap kelas lama tergantung pada
pola penggunaan.

Jika instance objek yang dikompilasi terhadap kelas lama dibuat, maka mereka
metode dapat dipanggil tanpa masalah. Tetapi jika metode abstrak yang baru ditambahkan adalah
pernah dipanggil, maka AbstractMethodError dilemparkan pada saat metode
doa dicoba.

7014 - metode sekarang terakhir

Tingkat keparahan: ERROR

Metode ini sebelumnya non-final, dan sekarang final. Subclass dari kelas ini
tidak akan lagi dikompilasi atau dijalankan.

Ketika kelas lama berisi metode ini adalah final (secara eksplisit atau hanya dengan menyediakan
konstruktor pribadi) maka subkelas tidak bisa ada. Clirr saat ini tidak memeriksa
untuk situasi ini, jadi ini akan menimbulkan alarm palsu dalam beberapa kasus sudut.

7015 - metode sekarang non-final

Keparahan: INFO

Metode ini sebelumnya final, dan sekarang non-final. Ini selalu
perubahan yang kompatibel dengan biner.

8000 - Kelas Ditambahkan

Keparahan: INFO

Versi baru perpustakaan memiliki kelas yang tidak ada di versi lama
versi.

8001 - Kelas Dihapus

Tingkat keparahan: ERROR

Versi baru perpustakaan tidak lagi berisi kelas yang ditentukan.

CONTOH


Periksa kompatibilitas perpustakaan dengan versi sebelumnya:

clirr -o foo-1.0.jar -n foo-2.0.jar

Periksa kompatibilitas mundur dari perpustakaan baru tergantung pada Apache Commons Logging:

clirr -o foo-1.0.jar -n foo-2.0.jar -ocp /usr/share/Java/commons-logging.jar -ncp
/usr/share/java/commons-logging.jar

HOMEPAGE


http://clirr.sourceforge.net

November 2013 CLIRR(1)

Gunakan clirr online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Alt-f
    Alt-f
    Alt-F menyediakan sumber terbuka dan gratis
    firmware alternatif untuk DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F memiliki Samba dan NFS;
    mendukung ext2/3/4...
    Unduh Alt-F
  • 2
    usm
    usm
    Usm adalah paket slackware terpadu
    manajer yang menangani otomatis
    resolusi ketergantungan. Ini menyatukan
    berbagai repositori paket termasuk
    slackware, slacky, p ...
    Unduh usm
  • 3
    Chart.js
    Chart.js
    Chart.js adalah pustaka Javascript yang
    memungkinkan desainer dan pengembang untuk menggambar
    semua jenis bagan menggunakan HTML5
    elemen kanvas. Chart js menawarkan yang hebat
    Himpunan ...
    Unduh Chart.js
  • 4
    iReport-Designer untuk JasperReports
    iReport-Designer untuk JasperReports
    CATATAN: Dukungan iReport/Jaspersoft Studio
    Pengumuman: Pada versi 5.5.0,
    Jaspersoft Studio akan menjadi yang resmi
    klien desain untuk JasperReports. saya melapor
    akan...
    Unduh iReport-Designer untuk JasperReports
  • 5
    PascaInstallerF
    PascaInstallerF
    PostInstallerF akan menginstal semua
    perangkat lunak yang Fedora Linux dan lain-lain
    tidak termasuk secara default, setelah
    menjalankan Fedora untuk pertama kalinya. Nya
    mudah untuk...
    Unduh PostInstallerF
  • 6
    jejak
    jejak
    Proyek strace telah dipindahkan ke
    https://strace.io. strace is a
    diagnostik, debugging dan instruksional
    pelacak ruang pengguna untuk Linux. Ini digunakan
    untuk memantau...
    Unduh strace.dll
  • Lebih banyak lagi »

Perintah Linux

Ad