זוהי הפקודה japize שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
japize - הפק רשימה של ממשק API בפורמט קריא במכונה.
תַקצִיר
japize [לִפְתוֹחַ] [כפי ש ] apis | ... +|- ...
תיאור
japize הוא חלק מ-japitools, שנועד לבדוק תאימות בין ממשקי API של Java.
הם תוכננו במקור לבדיקת יישומים חינמיים של Java עצמה עבור
תאימות ל-JDK של Sun, אך ניתן להשתמש בהם גם לבדיקת תאימות לאחור
בין גרסאות של כל API.
הכלים הם japize ו-japicompat. Japize היא תוכנית Java אשר פולטת רשימה של
API בפורמט קריא במכונה. לאחר מכן Japicompat לוקח שני רישומים כאלה ומשווה
אותם עבור תאימות בינארית, כפי שהוגדרה על ידי Sun במפרט שפת Java.
לפחות אחד + נדרש. ".japi" ו/או ".gz" יתווספו כ
מתאים.
ניתן להחליף את המילה "אפיס" ב"באופן מפורש", "שם ב", "חבילות" או "מחלקות". אלה
אפשרויות מציינות אם יש להתייחס למשהו מהצורה "abC" כאל מחלקה או כאל א
חֲבִילָה. אתה יכול לציין זאת באופן חד משמעי על ידי שימוש באחת מהצורות "abcpackage", או
"אב, CClass".
אפשרויות
לפתוח השבת את דחיסה של הפלט עם gzip. מכווץ את הפלט מומלץ מאוד
מכיוון שהוא חוסך כמויות עצומות של מקום. המצבים היחידים שבהם אולי לא תרצה
כדי להשתמש בדחיסת gzip הם כאשר השימוש בזיכרון וב-CPU צמוד מאוד או אם
ה-JVM שלך לא מיישם את GZIPOutputStream בצורה נכונה (במקרה זה ייתכן
עדיין רוצה ל-gzip את הקובץ המתקבל באופן ידני).
as
ציון אפשרות זו אומר ל-japize לכתוב את הפלט שלו לקובץ עם ה-
שם שצוין. כשכותבים לקובץ עם אפשרות "כמו", japize מתעקשת
כתיבה לשם קובץ המסתיים ב-.japi.gz עבור קבצים דחוסים, או .japi עבור
קבצים לא דחוסים. אם לשם הקובץ שציינת אין את הסיומת הנכונה,
japize תוסיף לו חלקים כדי להבטיח שכן.
אם האפשרות "כמו" מושמטת, japize תכתוב לפלט סטנדרטי. במקרה הזה
ל-japize אין שליטה על שם הקובץ שבו אתה משתמש, אבל מומלץ מאוד לעשות זאת
השתמש בשם קובץ עם הסיומת הנכונה (.japi.gz" אלא אם כן האפשרות "לפתוח" הייתה
נָקוּב). אם אתה משתמש בכל הרחבה אחרת, japicompat וכלים אחרים עשויים להיות
לא מצליח לזהות את הפורמט.
apis | בִּמְפוּרָשׁ | לפי שם | חבילות | כיתות
לאפשרות זו יש תפקיד כפול: היא מציינת את הגבול בין אפשרויות japize
(unzip, as) וארגומנטים אחרים (קבצים וחבילות), אבל גם אומר ל-japize איך לעשות זאת
להתמודד עם טיעונים מוגדרים מעורפלים. ראה "+|- " להלן לפרטים על
ההתנהגות של כל אפשרות. אם אינך בטוח מה לציין, "apis" הוא בטוח
בחירה.
apis
abc מנוסה הן כחבילה והן ככיתה. זה תמיד יעשה מה שאתה רוצה
(בגלל זה apis מתואר כברירת המחדל הבטוחה) אבל על חשבון אולי
עושה עיבוד מיותר נוסף בניסיון למצוא את הדבר הלא נכון.
בִּמְפוּרָשׁ
pkgpaths של הטופס abc אינם חוקיים - עליך להשתמש בטופס המפורש.
לפי שם
abc יעובד כחבילה אם "c" מתחיל באות קטנה, או בתור a
מחלקה אם היא מתחילה באותיות גדולות. זה בדרך כלל עושה מה שאתה רוצה אבל נכשל
על דברים כמו org.omg.CORBA.
חבילות
abc יעובד כחבילה. אם יש צורך בעיבוד עבור מחלקה, הוא חייב
יצוין במפורש.
כיתות
abc יעובד ככיתה. אם יש צורך בעיבוד עבור חבילה, זה חייב
יצוין במפורש.
|
כל ארגומנטים אחרי "apis" שאינם מתחילים ב-"+" או "-" נחשבים
קבצי zip או ספריות. יש לציין את אלה בדיוק כפי שהיית מכניס אותם
ה-CLASSPATH שלך (למעט מופרדים על ידי רווחים ולא נקודתיים). כל דבר שהוא א
ההנחה היא שהקובץ הוא קובץ zip (או jar), כך שלא תוכל לציין קובץ .class
ישירות - אם אתה צריך לעשות את זה, עליך לציין את התיקיה המכילה את זה ואת
ואז שם את המחלקה לעיבוד.
+|-
כדי לציין אילו מחלקות כלולות, השתמש ב-+pkgpath כדי להוסיף מסלולי pkg שייסרוקו
ו-pkgpath כדי לא לכלול תת-pkgpath של אלה. עליך לציין לפחות אחד
+pkgpath אפשרות לציין איזה pkgpath לכלול, אחרת Japize יכולה בשמחה
סרוק דרך כל קבצי ה-zip והספריות, אך לא עבד למעשה אף אחד מהם
שיעורים. מכיוון שזה יהיה דבר מיותר לעשות, japize נותן שגיאה במקום זאת.
"pkgpath" מתייחס לחבילה אחת (שכוללת, במשתמע, את כל המשנה-
חבילות שלו) או מחלקה בודדת. Pkgpath לחבילה נראה כמו
"com.foo.pkg.sub," ו-pkgpath עבור מחלקה נראה כמו "com.foo.pkg,Cls". ה
קיום ומיקום הפסיק מציינים באופן חד משמעי איזה סוג של נתיב הוא
התכוון.
עם זאת, לרוב, זה כאב להכניס פסיקים בשמות שכן
הכירו את הנקודות במקום זאת, וקבעו את מיקום הפסיק בצורה מדויקת. לזה
סיבה, japize מקבל pkgpaths המכילים רק נקודות, ומאפשר לך להגיד לו מה לעשות
לעשות מהשמות האלה. הפרשנות של "abc" כ-pkgpath תלויה בשאלה האם
ציינת APIS, במפורש, שם, חבילות או מחלקות.
דוגמא
ה-JDK 1.1 של Sun כולל שיעורים ב-java.awt.peer וב-java.text.resources שאינם
חלק מה-API הציבורי, למרות שהם כיתות ציבוריות; עם זאת, כל כיתה אחרת ב
היררכיית החבילות של java.* היא חלק מה-API הציבורי. התחביר לבניית שימושי
jdk11.japi.gz יהיה אפוא:
$ japize as jdk11 apis classes.zip +java -java.awt.peer -java.text.resources
שים לב שמכיוון שכל הארגומנטים של pkgpath כאן הם חבילות, אתה יכול לחסוך כמות קטנה של
עיבוד על ידי כך במקום זאת:
$ japize כחבילות jdk11 classes.zip +java -java.awt.peer -java.text.resources
או אפילו זה:
$ japize בתור jdk11 במפורש classes.zip +java, -java.awt.peer, -java.text.resources,
השתמש japize באינטרנט באמצעות שירותי onworks.net