ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Andere Systeme > Java auf Linux | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
13.02.2005, 14:45 Uhr BJ Posts: 247 Nutzer |
Hallo! Ich habe die Java2SE V1.5 auf Linux installiert, aber "javac" läuft nicht. Ich bekomme die Meldung: Error: could not find libjava.so Error: could not find Java 2 Runtime Environment Was muss ich noch tun, damit der Compiler läuft? -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
13.02.2005, 18:47 Uhr ipp0 Posts: [Ex-Mitglied] |
Scheinbar befindet sich Dein jre bzw. jsdk nicht im Pfad. Ediere Deine "/.bashrc" Da könntest Du es hinzufügen, sodaß bei jedem Neustart der Pfad gesetzt wird. z.B. # java zum Pfad hinzufügen export PATH=/usr/java/j2re1.4.x_xx/bin:$PATH Dazu mußt Du zuerst mal schauen, wohin Du es installiert hast und obiges entsprechend anpassen. Normalerweise ist es /usr/java. gruß [ - Ändern - Antworten - Zitieren - Direktlink - ] |
13.02.2005, 19:30 Uhr BJ Posts: 247 Nutzer |
Fein, "javac" kompiliert nun, danke. Nur "java" meldet mir jetzt beim einfachen "HelloWorld": Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Fehlt wohl immer noch etwas. Noch eine Idee? -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
13.02.2005, 20:34 Uhr ipp0 Posts: [Ex-Mitglied] |
Ich glaube er findet irgendwelche externen Klassen nicht, welche Du in Deinem code verwendest. Sollten sie im gleichen Verzeichnis liegen, in welchem du kompilierst, versuch mal, es zum classpath hinzuzufügen. java -classpath . benötigteKlasse Oder komipliere direkt in dem Verzeichnis, in welchem sich die benötigten Klassen befinden. Die standard API sollte javac selber finden. gruß [ - Ändern - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 00:03 Uhr BJ Posts: 247 Nutzer |
Ist ein simples HelloWorld public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } Ist egal, von wo ich es kompiliere oder starte, der Fehler bleibt derselbe. -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 02:24 Uhr Holger Posts: 8116 Nutzer |
Überprüf' mal, ob Du noch irgendwelche anderen Java-VMs o.ä. im Pfad hast. Bzw. mittels "java -version", ob auch wirklich die richtige JavaVM verwendet wird. Und poste die komplette Kommandozeile, wenn das nicht geholfen hat. Evtl. ist auch etwas bei der Installation schief gegangen. Schon das erste Problem mit javac sollte normalerweise nicht auftreten. (Entweder es startet, oder es ist nicht im Pfad und wird nicht gefunden, aber Fehlermeldungen sollten normalerweise nicht kommen...) mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 08:58 Uhr Inferno Posts: 157 Nutzer |
überprüfe mal die CLASSPATH variable: echo $CLASSPATH solltest Du ggf. auf "rt.jar" setzen, btw. rt.jar:. (der Punkt, damit er immer auch das aktuelle Verzecihnis scant) Gruß, Inf [ - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 10:36 Uhr BJ Posts: 247 Nutzer |
Also, ich bin im Prinzip der totale Linux-DAU und kenne mich damit so gut wie gar nicht aus - leider bin ich momentan gerade darauf angewiesen. Was heißt z.B., ob noch andere Versionen im Pfad liegen? echo $PATH? Dann nein. Da steht nur einmal was von Java drin. Ich habe parallel das WirelessToolKit zur Entwicklung für die J2ME installiert, das läuft. Unter /usr/lib/j2se/1.4/jre liegt anscheinend noch eine ältere Runtime-Engine. o.tacke@Piccolo:~$ echo $CLASSPATH /usr/java/jdk1.5.0_01/jre/lib o.tacke@Piccolo:~$ java -version java version "1.5.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08) Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing) Irgend eine Idee, wie ich den Kahn flott bekommen kann? -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 14:03 Uhr Inferno Posts: 157 Nutzer |
Hi! Das sieht eigentlich schon ganz gut aus. Was genau tippst Du denn ein beim Aufruf z.B. von HalloWelt ?? In welchem Verzeichnis liegt es, ... Gruß, Inf [ - Antworten - Zitieren - Direktlink - ] |
14.02.2005, 20:04 Uhr Holger Posts: 8116 Nutzer |
Zitat:Das sollte nicht nötig sein. Alles, was im jdk liegt, sollte java von selbst finden. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
15.02.2005, 15:23 Uhr BJ Posts: 247 Nutzer |
HelloWorld.java liegt in /home/o.tacke Kompilieren klappt von hier aus, aber starten nicht... o.tacke@Piccolo:~$ javac HelloWorld.java o.tacke@Piccolo:~$ java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Gehen wir mal ins Wurzelverzeichnis. Kompilieren klappt auch von hier, starten nicht... o.tacke@Piccolo:~$ cd / o.tacke@Piccolo:/$ javac /home/o.tacke/HelloWorld.java o.tacke@Piccolo:/$ java /home/o.tacke/HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: /home/o/tacke/HelloWorld -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
15.02.2005, 16:17 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ja, das liegt höchstwahrscheinlich am classpath. Versuch einfach mal, wie ipp0 schon vorgeschlagen hat, java -cp . HelloWorld wenn Du in dem Verzeichnis bist. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
15.02.2005, 16:48 Uhr BJ Posts: 247 Nutzer |
Ah, das geht. Kann man das irgendwo dauerhaft einstellen? Bzw. so, dass sich java den Pfad automatisch holt? Unter Windows musste ich derlei nie machen. -- It's time to kick ass and chew bubblegum! (Duke Nukem) [ - Antworten - Zitieren - Direktlink - ] |
15.02.2005, 20:36 Uhr ipp0 Posts: [Ex-Mitglied] |
Also solltest Du die Konsole verwenden, probier mal es in Deine /etc/cshrc bzw. csh.cshrc einzufügen. [ - Ändern - Antworten - Zitieren - Direktlink - ] |
19.02.2005, 14:36 Uhr Holger Posts: 8116 Nutzer |
Zitat:Ich glaube, das Problem liegt nicht so sehr daran, den classpath zu setzen, sondern daran, daß er gesetzt ist. Und zwar auf etwas für Dich nicht sinnvolles. Wenn Du herausfindest, wo er gesetzt wird (je nach shell .bashrc, .cshrc, .login oder was was ich), und die entsprechende Anweisung entfernst, sollte sich das Ganze wie unter Windows verhalten, wo Du offenbar auch keinen classpath gesetzt hast. Für größere Anwedungen erstellt man i.A. sowieso eine jar-Datei und fügt ein Manifest mit benötigten extensions, classpath und der main-class hinzu. Dann startet man das Programm mit java -jar <Dateiname> oder einfach per Doppelklick. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Andere Systeme > Java auf Linux | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |