אַחֵר

Mac כיצד לשנות קובץ java.jar?

ד

דאדליברוקס

פוסטר מקורי
4 באפריל, 2011
סן פרנסיסקו
  • 14 באפריל, 2011
אני צריך לבצע שינוי פשוט באפליקציה (Thunderbird.app) -- שינוי שורה בודדת בקובץ jar. במחשב Windows הישן שלי ידעתי באיזו תוכנה להשתמש. מהי הדרך הקלה ביותר ב-Snow Leopard לפתוח, לשנות ולשמור את קובץ ה-jar באפליקציה? רצוי להשתמש בדברים המובנים במערכת ההפעלה; אם לא, אז באמצעות תוכנה חופשית?

ג'ימינאוס

16 בדצמבר 2010


סידני
  • 15 באפריל, 2011
קובץ jar הוא רק קובץ .zip עם סיומת אחרת (ואיזושהי פריסה רגילה/מוגדרת מראש). אתה יכול להשתמש בתוכנות ה-zip ו- unzip הסטנדרטיות ב-/usr/bin כדי לשנות קובץ jar, בהנחה שהוא לא חתום.

'שינוי שורה בודדת בקובץ jar' אינו הגיוני ישירות בהקשר של קובץ jar. אם תספר לנו בדיוק מה אתה רוצה לעשות עם קובץ ה-.jar הזה, אולי נוכל לומר לך באילו כלים/תוכניות של Mac OS X אתה יכול להשתמש וכיצד. M

מאפלון

15 בספטמבר 2006
  • 15 באפריל, 2011
פורסם באופן אלחוטי (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 כמו Mac OS X; sv-se) AppleWebKit/533.17.9 (KHTML, כמו Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5)

יש באמת שלושה שלבים: מיצוי, שינוי והרכבה מחדש.

החילוץ קל: לחץ לחיצה ימנית ולחץ על Unarchieve (afaik).

שינוי: אם זה המניפסט (איזה מחלקה להפעיל וכן הלאה) אז זה קל, אולם קבצי ה-Java מורכבים לקבצי .class ויצטרכו לפרק אותם לפני השינוי.

כדי לחבר הכל, חפש בגוגל את הפקודה 'צנצנת' עבור הטרמינל.

אם זה FOSS עדיף וקל יותר להידור ממקור; אם לא אז אני לא חושב שזה 100% לגיטימי. ד

דאדליברוקס

פוסטר מקורי
4 באפריל, 2011
סן פרנסיסקו
  • 15 באפריל, 2011
אני צריך לשנות שורה בקובץ js הכלול בקובץ jar. אבל תשובתך מבהירה את השאלה שלי:

עשיתי את השינוי הזה הרבה מאוד פעמים תחת Windows (כלומר בכל פעם שהורדתי שדרוג, מה שכמובן מחק את השינוי הקודם שלי). מי שהמליץ ​​על השינוי המליץ ​​גם על (לא) ארכיון בשם IZArc, שבו ניתן לעשות את כל התהליך מתוך IZArc -- פתח (ארכיון) את קובץ ה-jar, מצא את קובץ ה-.js, ערוך את השורה... ולאחר מכן לחיצה על צא תחזיר הכל למצב הארכיון שלו.

אני מבין שאני יכול להסיר את הארכיון של jar עם כל unarchiver ולערוך את ה-.js עם כל עורך טקסט. אני מניח שהדאגה שלי היא שבהיותי לא מתכנת, אני עלול לעשות משהו מזיק בארכיון מחדש -- לא לאחסן את כל הקבצים הרלוונטיים לארכיון, או לאחסן יותר מדי קבצים, או משהו.

אז השאלה שלי היא: האם יש ארכיון (בתקווה במערכת ההפעלה) שיעשה את כל האמור לעיל מתוך עצמו, כדי שאדע שה-.jar הסופי מכיל בדיוק את הקבצים שהוא צריך להכיל? או, אם לא, מה אני צריך לעשות כדי לוודא ששלחתי אותו מחדש כראוי? אני מבין שבפורום הזה זו שאלה חדשה לגמרי.

לא רק ג'יי

19 בספטמבר 2003
קנדה, אה?
  • 15 באפריל, 2011
ובכן, אם קבצי jar הם פשוט קובצי ZIP עם סיומת אחרת, אז אתה יכול לדחוס ולפרוס אותם בחופשיות מהמסוף באמצעות הפקודות 'zip' ו-'unzip'.

chown33

מַנחֶה
חבר צוות
9 באוגוסט 2009
המישור התהומי
  • 15 באפריל, 2011
notjustjay אמר: ובכן, אם קבצי jar הם פשוט קובצי ZIP עם סיומת אחרת, אז אתה יכול לדחוס ולפרוס אותם בחופשיות מהמסוף באמצעות הפקודות 'zip' ו-'unzip'.

לחלופין, השתמש בפקודה 'צנצנת', שנכתבה במפורש למטרה זו, ושומרת על הסדר הנכון של מניפסטים (שבדרך כלל צריך להימצא כערך הראשון, או לכל היותר אחד מהראשונים).

אני די בטוח שפקודת jar מותקנת כברירת מחדל. זה אמור להמשיך להיות נכון גם ב-10.7 Lion.
תגובות:abronsdilan

לא רק ג'יי

19 בספטמבר 2003
קנדה, אה?
  • 15 באפריל, 2011
chown33 אמר: או השתמש בפקודה 'צנצנת', שנכתבה במפורש למטרה זו, ושומרת על הסדר הנכון עבור מניפסטים (שבדרך כלל חייבים להיות כערך הראשון, או לכל היותר אחד מהראשונים).

אני די בטוח שפקודת jar מותקנת כברירת מחדל. זה אמור להמשיך להיות נכון גם ב-10.7 Lion.

אה, אפילו יותר טוב. תודה, לא ידעתי על זה.

pilotError

12 באפריל, 2006
אי ארוך
  • 15 באפריל, 2011
או שאתה יכול להשתמש בפקודה jar. הפרמטרים הם בדיוק כמו כלי ה-zip של שורת הפקודה

$jar -xvf jarfile.jar ** מחלץ את הקבצים

**ערוך את הקובץ**

$jar -cvf jarfile.jar ** צור את הקובץ החדש של Jar
תגובות:abronsdilan ד

דאדליברוקס

פוסטר מקורי
4 באפריל, 2011
סן פרנסיסקו
  • 15 באפריל, 2011
תודה. השיטה של ​​PilotError הייתה פשוטה ומוצלחת -- ללא שגיאות תוכנה, שגיאות חדשות או אפילו שגיאות פיילוט. אבל עדיין היו לו יותר שלבים ממה שהייתי צריך בעבר ב-Windows: מעבר מטרמינל לאחר ביטול הארכיון, לשולחן העבודה כדי להשתמש בעורך (אשמתי, יש להודות, שלא הכרתי את עורכי ה-Unix שאליהם אני מניח שלטרמינל יש גישה) , ואז חזור לטרמינל לארכיון -- בתוספת הקשות הנוספות הדרושות לפקודות ה-Unix. אני עדיין רוצה למצוא עורך שעושה את זה *הכל* בתוך תוכנה אחת, כמו IZArc עשה ב-Windows: ctrl-open, edit, ctrl-close -- zip-zip (מכוון למשחק מילים)!

chown33

מַנחֶה
חבר צוות
9 באוגוסט 2009
המישור התהומי
  • 15 באפריל, 2011
dudleybrooks אמר: תודה. השיטה של ​​PilotError הייתה פשוטה ומוצלחת -- ללא שגיאות תוכנה, שגיאות חדשות או אפילו שגיאות פיילוט. אבל עדיין היו לו יותר שלבים ממה שהייתי צריך בעבר ב-Windows: מעבר מטרמינל לאחר ביטול הארכיון, לשולחן העבודה כדי להשתמש בעורך (אשמתי, יש להודות, שלא הכרתי את עורכי ה-Unix שאליהם אני מניח שלטרמינל יש גישה) , ואז חזור לטרמינל לארכיון -- בתוספת הקשות הנוספות הדרושות לפקודות ה-Unix. אני עדיין רוצה למצוא עורך שעושה את זה *הכל* בתוך תוכנה אחת, כמו IZArc עשה ב-Windows: ctrl-open, edit, ctrl-close -- zip-zip (מכוון למשחק מילים)!

אני לא מכיר שום כלי שעושה הכל. למען האמת, זו הפעם הראשונה שאי פעם ראיתי מישהו שואל כיצד לערוך קובץ בתוך צנצנת ב-Mac OS, אז אני מנחש שאין שוק יעד גדול.

אתה יכול להדביק שורות פקודה בטרמינל, אז פשוט שמור את הפקודות בקובץ טקסט, ואז העתק והדבק. אין צורך בהקלדה.

זה בערך מה שהייתי שומר בקובץ הטקסט:
קוד: |_+_| ברור שאתה צריך לשנות את jarfile.jar לקובץ ה-jar האמיתי שיש לך.

הראיתי ## כי אלו הם תו ההערה האמיתי עבור bash.

הצגתי גם פקודת 'פתח -e' עם שם נתיב שתצטרך להחליף. ה-open -e יפתח את הקובץ בעל השם ב- TextEdit.app. אם יש לך עורך אחר שאתה מעדיף במקום זאת, אתה יכול להגיד ל'פתוח' להשתמש בו במקום. הנה דף האיש של הפקודה 'פתח':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
תסתכל על האפשרויות -a ו-b במיוחד.

לבסוף, אתה יכול לשים שם פקודות אחרות, כמו 'cd someDir' או כל דבר אחר שתרצה.

אתה כנראה יכול לכתוב סקריפט 'sed' כדי לבצע את ההחלפה, כך שלא תצטרך לערוך את הקובץ באופן ידני כלל. אז אתה יכול להפוך את כל העניין לסקריפט מעטפת, לעטוף את זה לתוך AppleScript ולשמור אותו כטיפה. ואז בעתיד, פשוט תפיל את האפליקציה המקורית שלך על טיפת AppleScript והיא תבצע את כל השינויים באופן אוטומטי. עם זאת, תצטרך לכתוב ולאפות באגים בכל הדברים האלה, וכנראה שזה ייקח שעות יותר זמן מאשר רק העתקה/הדבקה כשהאפליקציה תתעדכן.

אם השינוי בצנצנת הוא משהו שהספק צריך לספק, כנראה שאתה צריך להגיש דוח באג נגד האפליקציה. כי התיקון הנקי ביותר הוא לא צריך לתקן את זה בעצמך בכלל.

pilotError

12 באפריל, 2006
אי ארוך
  • 15 באפריל, 2011
בחלונות, אתה יכול להשתמש בתוכנות כמו pkzip או winzip שמציגות את התוכן בחלון ואתה יכול פשוט ללחוץ פעמיים על קובץ אשר לאחר מכן נחלץ מתחת למכסה המנוע ונשלח לתוכנית המשויכת (עורך).

ישנם תוכנות zip תחת OS X, אבל מודה, אני לא משתמש ב-OS X כמו שאני משתמש ב-Windows. אני בטוח שתוכל לעקוב אחר אחת מהתוכנות שתאפשר לך לעשות את אותו הדבר, אבל בשביל מה שהיה צריך כאן, לא היה שווה לחפש אותה. ד

דאדליברוקס

פוסטר מקורי
4 באפריל, 2011
סן פרנסיסקו
  • 16 באפריל, 2011
PilotError ו-Cown33: אני בטוח שאתה צודק לגבי חוסר השוק ב-OS X.

Chown33: תודה על העצה לגבי אוטומציה והפרטים המעורבים. אני אנסה אותם. OMG, אולי אהפוך למתכנת!

זה משהו *לדעתי* שצריך לתקן, אבל זה לא באג: ל-Thunderbird יש מתקן חיפוש מתקדם עבור כתובות דואר אלקטרוני, שעשוי להחזיר כתובות מרובות. אם תלחץ על כתוב, זה מכניס את כולם לשדות 'אל' (ללא אפשרות אחרת). השינוי גורם להם להכניס אותם לשדות 'BCC', לשיפור התנהגות התנהגותית. ל-TB 1.x הייתה פעם אפשרות זו, אבל איבדה אותה ב-2.x. פ

peregin55

25 בפברואר 2008
  • 8 במאי 2011
Emacs תעשה מה שאתה רוצה

בלינוקס וב-Mac OS X אני משתמש ב-emacs כדי לערוך קבצים בתוך צנצנת. פשוט תקליד:

emacs somejar.jar

לאחר מכן תוכל לעיין בכל הקבצים בצנצנת, לפתוח, לשמור, מה שלא יהיה באמצעות פקודות emacs סטנדרטיות. כל השינויים שתבצע יחולו אוטומטית על הצנצנת (אין צורך לבטל שום דבר באופן ידני)
תגובות:abronsdilan ד

דאדליברוקס

פוסטר מקורי
4 באפריל, 2011
סן פרנסיסקו
  • 8 במאי 2011
תודה!

peregin55

זה טוב לדעת.

-
דאדלי ב

אסון גדול

14 בינואר 2010
  • 8 ביוני 2012
ארג'. זה לא עובד. אני צריך להחליף כמה מחרוזות בקבצי .class (אני משתמש בדיוק באותו מספר סמלים), ואז אני מנסה לארוז אותו מחדש עם פקודת jar, אבל הקובץ שנוצר קטן בכמה בתים מהקובץ הראשוני, וכאשר אני נסה להתקין את זה בנייד שלי זה אומר 'פורמט צנצנת שגוי'.
רעיונות כלשהם?

TopHatProductions115

22 באוגוסט 2016
  • 10 בנובמבר 2016
pilotError אמר: או שאתה יכול להשתמש בפקודה jar. הפרמטרים הם בדיוק כמו כלי ה-zip של שורת הפקודה

$jar -xvf jarfile.jar ** מחלץ את הקבצים

**ערוך את הקובץ**

$jar -cvf jarfile.jar ** צור את הקובץ החדש של Jar


האם זה יעבוד עבור ארכיוני Java חתומים?

מייקלוורנה

11 בנובמבר 2016
  • 11 בנובמבר 2016
אתה יכול להשתמש בעורך vim כדי לערוך את הקבצים בכל קבצי טקסט דחוסים.
  1. נווט אל מיקום הקובץ מהמסוף.
  2. הקלד vim name.jar
  3. בחר את הקובץ שברצונך לשנות והקש על Enter
  4. ערוך את הקובץ והקש Esc ו-:wq! לחסוך ולצאת.
מקווה שזה עוזר.

אוקייאם

17 בדצמבר 2016
  • 18 בדצמבר 2016
כן גם אני, נהגתי להשתמש ב-7zip כדי לערוך classpath בקובץ jar ב-Windows י

jtara

23 באפריל, 2009
  • 21 בדצמבר 2016
אם אתה צריך לשנות את thunderbird.app, השתמש במקור, בצע את השינוי שלך ובנה אותו.

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions ג

Clovr

13 בנובמבר 2018
  • 13 בנובמבר 2018
michaelwarne אמר: אתה יכול להשתמש בעורך vim כדי לערוך את הקבצים בכל קובץ טקסט דחוס.
  1. נווט אל מיקום הקובץ מהמסוף.
  2. הקלד vim name.jar
  3. בחר את הקובץ שברצונך לשנות והקש על Enter
  4. ערוך את הקובץ והקש Esc ו-:wq! לחסוך ולצאת.
מקווה שזה עוזר.
אנחנו לא יכולים להפוך את זה לאוטומטי באמצעות bash? זה יעזור מאוד אם תאיר דרכו.
תגובות:abronsdilan