این دستور japicompat است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
japicompat - API های جاوا را برای سازگاری باینری به عقب تست کنید.
خلاصه
japicompat [-svqhtjw4] [-یا مجموعه] [-من فایل های نادیده گرفته شده]
شرح
japicompat بخشی از Japitool است که برای آزمایش سازگاری بین APIهای جاوا طراحی شده است.
آنها در اصل برای آزمایش پیاده سازی های رایگان خود جاوا طراحی شده بودند
سازگاری با JDK Sun، اما می توان از آنها برای آزمایش سازگاری به عقب نیز استفاده کرد
بین نسخه های هر API.
ابزارها japize و japicompat هستند. Japize یک برنامه جاوا است که لیستی از یک را منتشر می کند
API در قالب قابل خواندن توسط ماشین. سپس Japicompat دو لیست از این قبیل را می گیرد و مقایسه می کند
آنها برای سازگاری باینری، همانطور که توسط Sun در مشخصات زبان جاوا تعریف شده است.
OPTIONS
-s بررسی های سازگاری باینری اضافی را غیرفعال کنید (فقط بررسی های تعریف شده توسط JLS را انجام دهید).
-v فعال کردن بررسی برای مشکلات سازگاری جزئی.
بررسی SerialVersionUID: japicompat یک خطای جزئی را در صورت وجود کلاس Serializable گزارش میکند
دارای SerialVersionUID متفاوتی بین دو نسخه است.
بررسی منسوخ شدن: در صورت وجود کلاس یا عضو، japicompat یک خطای جزئی را گزارش میکند
در API اصلی منسوخ شده است اما در API در حال بررسی منسوخ نشده است.
-q گزارش های پیشرفت را غیرفعال می کند.
-h خروجی را در قالب HTML تولید می کند. فایل های HTML تولید شده به japi.css بستگی دارد
فایل برای ارائه جذاب.
-t خروجی را در قالب متن تولید می کند. این پیش فرض است.
-j خروجی را به شکل خام قابل خواندن توسط ماشین تولید می کند. فرمت تولید شده نامیده می شود
فرمت "japio" و طبق قرارداد باید با پسوند فایل ".japio" ذخیره شود.
برای تبدیل این فرمت می توان از ابزار مستقل japiotext و japiohtml استفاده کرد
به html یا متن (در واقع، japicompat به صورت داخلی japiotext یا japiohtml را فراخوانی می کند
از پرچم های -h یا -t استفاده می شود). فایل های Japio همچنین می توانند با پرچم -i به استفاده شوند
پشتیبانی از نادیده گرفتن خطاهای ناشی از ناسازگاری بین نسخه های JDK.
-w غیرفعال کردن اخطارها برای اجرا در برابر فایل های باگی قدیمی جاپی. به طور پیش فرض japicompat
در صورت اجرا بر روی فایلهای جاپی که در اصل توسط قدیمیتر تولید شدهاند، اخطار ایجاد میکند
نسخههایی از ابزارهای ژاپنی که دارای اشکالات شناخته شدهای بودند که با رفع آنها نمیتوان از آنها استفاده کرد.
-4 از حالت سازگار با 1.4 استفاده کنید. این تا زمانی کار میکند که APIهای مقایسه شامل آن نباشد
موارد فقط 1.5.
-o
خروجی را به به جای stdout فرمت این فایل بستگی به
پرچم های -h، -t و -j.
-i
فرض کنید در حال تلاش برای پیاده سازی Java API هستید. شما دارید (خیلی زیاد)
پوشش نسخه های اولیه JDK (1.0 و 1.1) را تکمیل کرد، اما هنوز هم برخی از آنها وجود دارد
فاصله برای رسیدن به پوشش کامل 1.4 (این یک توصیف دقیق از همه است
نرم افزار رایگان پیاده سازی جاوا در زمان نگارش). استفاده از japicompat به
مقایسه پیاده سازی خود با JDK 1.4 نتایج دقیقی به دست می دهد، اما شما نیز ممکن است
می خواهید پوشش خود را از نسخه های قبلی نشان دهید.
متأسفانه Sun از قوانین سازگاری باینری خود بین JDK پیروی نکرده است
چه رسد به قوانین گسترده ای که japicompat برای آنها آزمایش می کند. بنابراین هنگامی که شما اجرا می کنید
در مقایسه بین JDK 1.1 و پیاده سازی شما، خطای جعلی دریافت خواهید کرد
گزارش می دهد زمانی که شما با 1.4 سازگار هستید اما با 1.1 سازگار نیستید.
بدیهی است که آنچه واقعاً می خواهید این است که خطاهایی مانند این را نادیده بگیرید و japicompat کنید
راهی برای این کار فراهم می کند. ابتدا یک مقایسه بین 1.1 و 1.4 را با استفاده از -j انجام دهید
تعویض. سپس مقایسه بین 1.1 و پیاده سازی خود را اجرا کنید و از آن عبور کنید
گزینه "-i" با خروجی اجرای قبلی. مثلا:
$ japicompat -jo ignore-11-14.japio jdk11.japi.gz jdk14.japi.gz
$ japicompat -ho jdk11-myimpl.html -i ignore-11-14.japio jdk11.japi.gz
myimpl.japi.gz
همچنین می توانید با اجرای زیر همین اثر را دریافت کنید:
$ japicompat -ho jdk11-myimpl.html -i jdk14.japi.gz jdk11.japi.gz myimpl.japi.gz
بدیهی است که تایپ کردن سادهتر و سریعتر است، اما نیاز به مقایسه بین آنها دارد
jdk11 و jdk14 هر بار اجرا شوند. ساخت فایل japio به صورت دستی اجازه می دهد
برای اینکه دفعه بعد ذخیره شود و دوباره مورد استفاده قرار گیرد، که به japicompat اجازه می دهد تا در مورد آن اجرا شود
دو برابر سریعتر
فایلهای جاپی مربوط به APIهایی که باید مقایسه شوند.
japicompat به طور خاص آزمایش می کند که آرگومان دوم با عقب ماندگی سازگار است
با اولی بنابراین، اجرای بی نقص JDK 1.1 باعث ایجاد شماره نمی شود
خطاها بدون توجه به ترتیب استدلال ها، اما اجرای کامل
JDK1.1 به علاوه قطعات JDK1.2 باید به صورت زیر آزمایش شوند:
$ japicompat jdk11.japi.gz myimpl.japi.gz
$ japicompat myimpl.japi.gz jdk12.japi.gz
احتمالاً نمی توان پیاده سازی کرد که هر دو این تست ها را پشت سر بگذارد،
از آنجایی که JDK1.2 خود Sun هنگام آزمایش در برابر JDK1.1 خطاهای متعددی ایجاد می کند. را ببینید
بحث در مورد گزینه -i بالا برای راهی برای کنار آمدن با این وضعیت.
فایل های فشرده (.japi.gz) یا غیر فشرده (.japi) را می توان به
japicompat: پسوند فایل برای تعیین اینکه آیا ورودی را لوله می کند یا نه استفاده می شود
از طریق gzip یا نه
از japicompat آنلاین با استفاده از خدمات onworks.net استفاده کنید