עבור לתוכן

הרצת קובץ java. שיש לו import מקובץ .jar

Featured Replies

פורסם

שלום רב

אני מנסה להריץ קובץ java שכתבתי, כאשר בתוכנת eclipse הוא רץ מצויין כאשר הוספתי את ספריה .jar שאני צריך.

לעומת זאת כאשר אני מריץ ע"י פקודת:

java hello.java

אזי אני מקבל את ההערה:

Exception in thread "main" java.lang.NoClassDefFoundError: Something/java

אולי מישהו יודע כיצד ניתן לפתור זאת?

בסך הכל אני מנסה ליצור קובץ הרצה של תוכנת ה-java שלי , כאשר אני רוצה להריץ אותה מחוץ ל-eclipse.

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

תודה.

פורסם

היי,

כאשר אתה מריץ קובץ בסביבת הפיתוח הסביבה מקונפגת בעזרת ה BUILD PATH וה - CLASS PATH,

כאשר אתה מריץ קובץ מחוץ לסביבת הפיתוח ואתה משתמש במשאבים חיצוניים קרי JAR -ים שלא שייכים לסביבה

אתה חייב לספק את ה PATH המלא של ה JAR ושל קובץ ההרצה שלך קרי MAIN,

כלומר אתה צריך להוסיף לשורת הפקודה את ה PATH של ה JAR החיצוני שאתה מריץ ולאחר מכן את קובץ ה MAIN (חפש בגוגל CLASS PATH).

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

אחד המאפיינים של התוכנות הוא קינפוג ה CLASS PATH באופן שקוף למריץ התוכנה כלומר המשתמש רק לוחץ על ה EXE

ומפעיל אותו ללא קינפוג של המשאבים החיצוניים שהתוכנה מבצעת.

תהנה.

פורסם

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

כאשר אתה מריץ את ה-Main שלך מחוץ לסביבה, אין ל-JVM כל אפשרות לדעת מאיפה להביא את ExternalClass ולכן אתה נתקל בשגיאה.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים