Page 1 of 1

classpath problem with Java

Posted: Tue Apr 10, 2007 2:58 am
by alexo
Λοιπόν έχω το εξής πρόβλημα:
Χρησιμοποιώ ένα πακέτο σε Java (για Simulation) και όταν το βάζω
στη μεταβλητή classpath των Windows, μου το κάνει compile αλλά στο run μου πετάει Exception.
Όταν όμως δίνω χειρονακτικά το Path μου τρέχει οκ .
π.χ.

Code: Select all

java -classpath c:\Docs\alexo\classes; Simulation
ενώ με

Code: Select all

java -classpath classes; Simulation

δεν τρέχει.

Καμία ιδέα;

Posted: Tue Apr 10, 2007 11:38 am
by HdkiLLeR
Όταν λές classpath των Windows τι εννοείς; Την μεταβλητή περιβάλοντος CLASSPATH; Εάν ναι τι έχει μέσα (δώσε echo %CLASSPATH% );

Posted: Tue Apr 10, 2007 12:00 pm
by adam98
Βάλε στην μεταβλητή περιβάλλοντος των windows το c:\Docs\alexo\classes; και μετά θα τρέχεις μόνο με java Simulation

Posted: Tue Apr 10, 2007 12:30 pm
by Zifnab
thnx alexo για ερώτηση και adam για απάντηση...Αλλά πως αλλάζει κάποιος την μεταβλητή? :roll:

Κάνω σε cmd set %PATH%= bla bla ή κάτι τέτοιο ???

Posted: Tue Apr 10, 2007 12:32 pm
by alexo
Adam εχθές έκανα αυτό το πράγμα και δεν έπαιζε.
Τελικά έκανα restart και έπαιξε. Τραγικό!
Thanks παιδιά!

@Zifnab

δεξί κλίκ στο My Computer->Advanced->Environment Variables->System Variables και θα τη δεις εκεί.Μετά Edit.

Άλλο η path άλλο η classpath.

Posted: Tue Apr 10, 2007 6:58 pm
by P@radox
alexo wrote:Adam εχθές έκανα αυτό το πράγμα και δεν έπαιζε.
Τελικά έκανα restart και έπαιξε. Τραγικό!

Αλλαγές σε environmental μεταβλητές το classpath.. απ όσο ξέρω χρειάζεται restart για να δουλέψουν.. καθώς και τόσες άλλες ρημαδοαλλάγές στα winXp..!

Posted: Tue Apr 10, 2007 7:41 pm
by adam98
Όχι δεν χρειάζεται restart το Pc όταν κάνει τέτοια αλλάγή.Να κλείσεις το τερματικό ναί και να ανοίξεις άλλο.Για αύτο πιθανόν σου έπαιξε μετά το restart.
Πιο ανθρώπινα το classpath αλλάζει ως εξής:
start(to windows key sto keyboard)+break(to button sto keyboard)
Sto παράθυρο που ανοίγει πας στην καρτέλα για προχωρημένους και πατάς το κουμπί "μεταβλητές περιβάλλοντος", τα υπόλοιπα είναι νομίζω τετριμμένα :)

Edited 1:Είχα κάνει ένα λαθάκι και το διόρθωσα στην συντόμευση ελπίζω να πρόλαβα

Posted: Tue Apr 10, 2007 8:27 pm
by Serendipity
παιδια sorry αλλα διαβαζα και εγω για τα classpath αλλα δν καταλαβα ακριβως τι ειναι,μπορει να μου δωσει καποιος τα φωτα του?πχ με αυτο:To delete the current contents of the CLASSPATH variable, use these commands:

In Windows: C:\> set CLASSPATH=

τι ακριβως κανω?

Posted: Wed Apr 11, 2007 12:58 pm
by HdkiLLeR
Serendipity wrote:παιδια sorry αλλα διαβαζα και εγω για τα classpath αλλα δν καταλαβα ακριβως τι ειναι,μπορει να μου δωσει καποιος τα φωτα του?πχ με αυτο:To delete the current contents of the CLASSPATH variable, use these commands:

In Windows: C:\> set CLASSPATH=

τι ακριβως κανω?
Start->Run->cmd (το bold είναι αυτό που γράφεις στο run :)).
Θα σου ανοίξει ένα command window εκεί γράφεις αυτές τις εντολές.
Zifnab wrote:thnx alexo για ερώτηση και adam για απάντηση...Αλλά πως αλλάζει κάποιος την μεταβλητή? :roll:

Κάνω σε cmd set %PATH%= bla bla ή κάτι τέτοιο ???
Κάνεις set PATH=... (χωρίς τους delimiters %%)

Posted: Wed Apr 11, 2007 6:05 pm
by vangos
HdkiLLeR wrote:Κάνεις set PATH=... (χωρίς τους delimiters %%)
Αν το κάνεις αυτό θα χαθούν όλες οι υπόλοιπες τιμές που είχε το PATH (τουλάχιστον μέχρι να κάνεις restart).

Το σωστό είναι να κάνεις το εξής:

set PATH=%PATH%;C:\myfiles\classes

όπου αντί για "C:\myfiles\classes" μπορείς να βάλεις ότι άλλο θες.

Αν αλλάξεις το path από Command Prompt δεν χρειάζεται (και δεν πρέπει) να κάνεις restart.
Διαφορετικά, αν το κάνεις με τον τρόπο που λέει ο alexo, μέσω των System Variables, χρειάζεται restart.

Παρόμοια γίνεται και για τις υπόλοιπες μεταβλητές που ενδεχομένως θες να θέσεις, π.χ. CLASSPATH, JAVA_HOME κλπ.

Posted: Thu Apr 12, 2007 1:47 pm
by HdkiLLeR
E μα αυτό ήθελε και ο Zifnab να αλλάξει την μεταβλητή PATH. Εάν ήθελε απλά να κάνει append κάτι εκεί, τότε αυτό γίνεται με τον τρόπο που αναφέρεις (που είναι το ισοδύναμο με το x=x+y).