amiga-news 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! :O

(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! :O

(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! :O

(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! :O

(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:
Original von Inferno:
ü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)

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! :O

(Duke Nukem)

[ - Antworten - Zitieren - Direktlink - ]

15.02.2005, 16:17 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von BJ:
o.tacke@Piccolo:~$ javac HelloWorld.java
o.tacke@Piccolo:~$ java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

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! :O

(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:
Original von BJ:
Kann man das irgendwo dauerhaft einstellen? Bzw. so, dass sich java den Pfad automatisch holt? Unter Windows musste ich derlei nie machen.

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.
.