• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

zusätzliche variablen für java einlesen

lichtelf

Member
moin,
muss für die uni jetzt mit java programmieren...hab mir dafür wie befohlen jdk 1.5.0.09 installiert...

miene uni benutzt aber eine reihe von abkürzenden befehlen die in einer datei AlgoTools.jar gespeichert sind welche ich einlesen muss...damit der javac compiler nachher die befehle erkennt und umsetzen kann..also die datei ins jkd*/bin verzeichnis packen und dann folgenden befehl ausführen:

CLASSPATH=.:..:/pfad/zur/datei/AlgoTools.jar:$CLASSPATH
export CLASSPATH

hab ich versucht...hat die konsole auch ohne murren gemacht....aber funktionieren tuts trotzdem nich... ???

was hab ich falsch gemacht bzw was muss ich machen damits funktioniert??

mfg lichti
 

anylinux

Newbie
Hi,

mit der Option -cp beim javac funktioniert es? Ist es die gleiche oder eine Sub-Shell, in der javac gestartet wird?

Gruss
anylinux
 
OP
L

lichtelf

Member
hmmm....interessanterweise funktioniert auch nich mit der -cp option...

mir wurde gesagt ich solle die datei nicht entpacken sondern gepackt lassen....hab die grade enpackt und dann versucht das verzeichnis einzulesen in dem die classes sind.... dabei kam das raus:
Code:
aufg2_4.java:12: cannot access IO
bad class file: /home/dunkelelf/AlgoTools/AlgoTools/IO.class
class file contains wrong class: AlgoTools.IO
Please remove or make sure it appears in the correct subdirectory of the classpath.
      a = IO.readInt ();   b = IO.readInt ();
          ^

macht der das jetzt weil ichs enptackt hab oder is die AlgoTools.jar defekt??
 

anylinux

Newbie
Hi,

du hast richtig gehört, die .jar-Datei sollte nicht entpackt werden. Beim Neupacken kann auch Einiges schief gehen, dehalb der wäre das Löschen der installierten/entpackten Dateien und des neu erzeugten Archives und das anschließende Einspielen des Archivs schon gut.

Wahrscheinlich wirst Du Deinen Fehler aber schon los, wenn Du

import AlgoToools.*; durch

import AlgoTools.IO; ersetzt.


Gruß

anylinux
 
OP
L

lichtelf

Member
also ich hab die entpackten daten gelöscht und das ganze mit AlgoTool.IO ausgeführt..bringt immer noch nix....fehlermeldung beim compilieren:

cannot find symbol - symbol: varable IO

unter windows funktioniert das ganze aber...also an der AlgoTools.jar kanns nicht liegen....*wunder*

bei windows musste ich auch nen neuen Classpath setzen...aber da ging das anders....ist vll am befehl etwas falsch (siehe 1.post) ??

nach dem setzen des classpath muss ich doch erst ne neue konsole starten damit die veränderung aktiv wird richtig??
 
Probiers mal mit:

Code:
javac -cp .:/pfad/zum/jar/AlgoTools.jar aufg2_4.java

in dem Verzeichnis in dem aufg2_4.java liegt - wenn letzteres auch in nem Package ist dann entsprechend oberhalb.

Wenns nicht geht poste die ganze Ausgabe!

Was den Classpath angeht: wenn du ihn in .bashrc setzt wird er auch für jede neu geöffnete Konsole gesetzt. Wenn du den Path aber jedesmal manuell setzt gilt er _nicht_ in der neuen Shell!

Ansonsten ist der einzige Unterschied zwischen Windows und Linux - wenn ich mich recht erinnere - daß unter Windows die einzelnen Pfade mit ";" getrennt werden, wärend unter Linux ":" benutzt wird.
 
Oben