Qbuntschuh
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hi, ich habe mir gestern aus den Repositories die Eclipse IDE gezogen - ich mache gerade einen Grundlagenkurs in objektorientierter Programmierung mit JAVA SE mit und will daheim auch etwas mit meinen Unterrichts-Projekten arbeiten. Jetzt hab ich entdeckt, das Eclipse-Paket in den Repos ist 3.8.1, die neueste Version ist 4.8 oder so was.
Ich weiß nicht genau, woran es liegt, vermutlich schon an der Version - jede zweite, dritte Zeile in meinem Code ist rot und hat dieses Stopp-Schild, aber an dem Laptop im Unterrichtsraum war der Code völlig okay und alle Probleme erst mal beseitigt.
Ich werd morgen mal nachschauen, welche Version der IDE wir da im Kurs haben und das hier posten.
Ziemlich sicher ist das ja nicht das erste Mal, dass dieses Problem auftaucht - deshalb entschuldige ich mich gleichzeitig dafür, dass ich nicht erst nach vorhandenen Posts suche, jammern steht mir zwar auch nicht so recht, aber als dreifacher Vater komme ich nach dem Vollzeit-Kurs neben Hausis, Haushalt und sonstigem Alltag nur zu wenig ... Was für einen anderen Grund könnte das denn mglw. noch haben außer der Version - und wo könnte ich die aktuelle Version für Linux herkriegen?
vielen Dank!
Gruß, Qbuntschuh P.S.: Aha - ich sagte ja nicht, ich komme zu nichts, nur wenig - im Wiki steht ja schon, dass das nicht immer die aktuelle Vrs. ist und dass man ggf. manuell installieren soll. Bleibt nur zu klären, ob die Vrs. bei uns im Kursraum aktueller ist - höchstwahrscheinlich schon, die haben wir am ersten Tag frisch von der WebSite installiert. Aber kann das wirklich der Grund sein? Die schiere Anzahl der Warnungen, die jetzt plötzlich meinen Code zieren scheint mir etwas krass ... naja, das kann ich eher sagen, wenn ich die aktuelle Eclipse-IDE installiert hab und wieder nachschau.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 53601
Wohnort: Berlin
|
Qbuntschuh schrieb: und wo könnte ich die aktuelle Version für Linux herkriegen?
Ganz verwegene Theorie: Beim Upstream-Entwickler? Es gibt da auch den Abschnitt zur manuellen Installation im Wiki ▶ Eclipse (Abschnitt „Manuelle-Installation“).
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hallo tomtomtom, ja richtig, den Artikel hatte ich gestern noch gesehen. Das werd ich probieren. Danach meld ich mich dann wieder, ob's geklappt hat.
Danke erst mal!
Gruß, Qbuntschuh
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Okay, etwas weiter bin ich schon. Hab über die Paketverwaltung das alte eclipse deinstalliert und jetzt, allerdings über die Homepage, das aktuelle eclipse neu installiert. Das stimmt jetzt schon mal.
Dem Anschein nach fehlt aber noch ein aktuelles JRE - ich konnte zwar meine ersten Projekte installieren, die ich im Kurs gemacht habe, da sind aber noch Fehlermeldungen, dass die Klasse "System" u.a. nicht aufgelöst werden können - die eigtl. schon drin sein müssten.
Über die Paketverwaltung geht das ja nicht bzw. haben die da nicht dieselben Namen. Da muss ich mich mal etwas genauer damit befassen. P.S.: Aha - heißt wohl "openjdk", hab ich aus einem Thread hier entnommen. Da ist die 8er-Version eigentlich installiert, aber mglw. veraltet. Da sollte doch die 8er eigentlich reichen, oder? Das werd ich mal probieren. P.P.S.: Nein, geht noch nicht. Naja, da muss ich noch mal reinschauen. Wird schon irgendwie gehen.
|
Neral
Anmeldungsdatum: 3. Oktober 2007
Beiträge: 229
|
Zeig’ doch mal den Code, den du versuchst, zu kompilieren. Eigentlich dürfte (gerade zu Beginn) in einem Grundlagenkurs nicht so viel vorkommen, das inkompatibel zu Java 8 ist. System zum Beispiel gibt es schon immer. Ich würde darauf tippen, dass irgendwas mit der Installation oder Konfiguration nicht stimmt. Welche Pakete, deren Namen mit openjdk beginnt, hast du denn installiert? Was sagt apt list --installed | grep openjdk ? Kannst du im Terminal java -version und javac -version aufrufen?
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hallo, Danke schon mal für die Hilfsbereitschaft! Ich möchte diese Sache schon gern heute zum Laufen kriegen. Die Ausgabe von >> java -version ist
| OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK Server VM (build 25.181-b13, mixed mode)
|
Die Ausgabe von javac -version ist ebenfalls 1.8.0_181 Sieht relativ alt aus, oder?
Komischerweise erscheint das Eclipse, das ich von deren Homepage installiert hab, nicht im Startmenü unter "Entwicklung". Könnte es sein, dass das nicht ordentlich im System "verankert" ist? Die Pakete mit openjdk sind:
openjdk-8-jdk/xenial-updates,xenial-security,now 8u181-b13-0ubuntu0.16.04.1 i386 [installiert,automatisch-entfernbar]
openjdk-8-jdk-headless/xenial-updates,xenial-security,now 8u181-b13-0ubuntu0.16.04.1 i386 [installiert,automatisch-entfernbar]
openjdk-8-jre/xenial-updates,xenial-security,now 8u181-b13-0ubuntu0.16.04.1 i386 [Installiert,automatisch]
openjdk-8-jre-headless/xenial-updates,xenial-security,now 8u181-b13-0ubuntu0.16.04.1 i386 [Installiert,automatisch]
(da kommt eine Warnung davor, dass apt kein stabiles CLI-Interface hat?) Der Code, den ich versuchen wollte, ist ein supereinfaches "Hello World". Da kommen aber mehrere Fehler wie bspw. dass der implizite Super-Konstruktor der Object() nicht definiert ist oder dass der Typ >>String<< nicht aufgelöst werden kann - deutet schon darauf hin, dass was mit der Umgebung nicht stimmt.
Danke nochmals!
Gruß, Qbuntschuh
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Also, zu JAVA 8 gibt es ja einen WIKI-Artikel. Das kann ich mal probieren.
will mir da jetzt nur nicht auf gut Glück alles mögliche installieren, ohne zu wissen, was ich tatsächlich brauche. P.s.: Die jdk-Datei hab ich mir jetzt mal von der im Wiki verlinkten Downloadseite heruntergeladen und in den Downloads-Ordner entpackt.
|
Neral
Anmeldungsdatum: 3. Oktober 2007
Beiträge: 229
|
Kannst du dein Hello World denn im Terminal mit javac HelloWorld.java && java HelloWorld kompilieren und ausführen? Das JDK ist – soweit ich das sehen kann – anscheinend richtig installiert. Ob du jetzt openjdk-8-jdk oder openjdk-11-jdk installierst, dürfte für den Anfang erstmal egal sein. Bitte in Zukunft Terminalausgaben vollständig und im Codeblock zeigen. Das macht es für den Helfer einfacher, das ganze zu lesen. Falls was mit der Eclipse-Konfiguration nicht stimmt, könnte es helfen, den Ordner ~/.eclipse umzubenennen, um ein saubere Konfiguration zu erhalten. Welches JDK ist denn dem Eclipse-Projekt zugerodnet? Edit: Sowohl das JDK als auch Eclipse sollten auch aus den Paketquellen funktionieren. Die Hinweise aus Fremdquellen gelten auch hier.
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hallo, bzgl. der Terminalausgaben bitte ich um Entschuldigung, es ist eine Weile her, dass ich Linux täglich verwendet habe. Der erste (von Java) war ja richtig, oder? Im zweiten hat irgendwas nicht funktioniert, aber da war nur eine Zeile. Dieser Ordner befindet sich in meinem Home-Verzeichnis, oder? In war muss ich den umbenennen? Nur in irgendwas anderes, damit damit keine Verknüpfung mehr besteht, oder? Klar, das jdk und eclipse gibt es aus den Paketquellen. Eclipse ist halt nicht aktuell, aber wie Du sagst - bei so grundlegenden Sachen sollte das ja eigtl. keinen Unterschied machen. Das Ausführen funktioniert überhaupt nicht. Da kommt folgende Terminalausgabe.
| friedrich@friedrich-HP-EliteBook-2530p:~$ javac SaysHello.java && java SaysHellojavac: file not found: SaysHello.java
Usage: javac <options> <source files>
use -help for a list of possible options
|
P.S.: Sollte ich jetzt Eclipse aus den Paketquellen heraus noch mal installieren? Das, was ich momentan habe, ist augenscheinlich nur in mehreren Ordnern angelegt. Wenn ich die alle lösche, hoffe ich, dass keine Reste davon bleiben.
|
Neral
Anmeldungsdatum: 3. Oktober 2007
Beiträge: 229
|
Du musst den Befehl schon in dem Ordner ausführen, in dem die .java -Datei liegt (oder den korrekten Pfad angeben). Zum Umbenennen: Ja, in irgendetwas, damit das komplette Verzeichnis von Eclipse nicht mehr gefunden wird und somit neu angelegt wird. Wenn du zur manuellen Installation die Anleitung im Wiki befolgt hast, dann sollte es reichen, /opt/eclipse (oder das Verzeichnis, in das du Eclipse entpackt hast), zu löschen. Wenn du das JDK nur in den nach ~/Downloads entpackt hast und das Alternativen-System nicht angefasst hast, dann sollte das gar keinen Einfluss nehmen. Das Neuinstallieren aus den Paketquellen ist quasi nie sinnvoll, wenn man nicht in den Systemdateien (insbesondere /usr , /lib , /bin oder /etc ) rumgepfuscht hat.
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hallo, ich werde das Ausführen dieses Programms noch mal probieren. Die Ordner von dem neuen Eclipse (hatte es nur in meinem Homeordner entpackt) hab ich inzwischen alle gelöscht und hab Eclipse aus den Paketquellen noch einmal installiert.
Openjdk ist ja auch standardmäßig schon da.
Das hatte ich eigentlich vorher schon mal und weil es nicht funktioniert hat, hab ich mir überhaupt erst die neue Eclipse-Version gesucht. Danach ist für heute wohl Schluss. Ich melde mich dann morgen nach Feierabend wieder. P.S.: Irgendwas hab ich bei diesem Bash-Befehl wohl falsch gemacht - bis >>/home/Friedrich/eclipse_Aktenkoffer<< funktioniert das (mit dem üblichen "cd", danach (wenn ich in das Projektverzeichnis reingehen will) sagt er "Datei oder Verzeichnis nicht gefunden". Aber naja - wenn ich es innerhalb von Eclipse nicht starten kann, wie sollte es dann im Terminal funktionieren? Das Verzeichnis hab ich umbenannt, Eclipse (hab es ja inzwischen wieder aus den Paketquellen installiert) hat es jetzt neu angelegt. Wenn ich das aufmache, kann ich zwar alle meine Projekte importieren und in den Workspace kopieren. wenn ich den Code meines "HelloWorld" (heißt bei mir halt "SaysHello") aufmache, kommen da aber wieder einige Fehlermeldungen, die darauf hindeuten, dass die Umgebung nicht in Ordnung ist - Klassen, die eigtl. immer da sein müssen wie "System", "String" oder "Object" können nicht aufgelöst werden.
Die erste Meldung ist:
- "The type java.lang.Object cannot be resolved. It is indirectly referenced from required.class files" Also dann - schade, dass es heut nicht mehr geklappt hat. Aber ich danke Dir vielmals für die Hilfe! Ich bin kein Profi mit Linux.
Morgen abend melde ich mich wieder und probiere gern was aus. Gruß, Qbuntschuh P.P.S.: Als Quickfix für die allererste Fehlermeldung heißt es "Configure build path - open Java build path property of project ...". Die "Properties" kann ich im Hauptmenü finden - da sieht aber alles okay aus. Niemand war zum ausführen berechtigt - das hab ich geändert. Trotzdem sind die Fehlermeldungen noch da. P.P.P.S.: Ich bin da mal in die "Launch configuration" reingegangen und da steht obendrüber "JRE not compatible with project.class file compatibility: 10" - gibt Dir das einen Anhaltspunkt? (könnte das damit zu tun haben, dass wir im Kurs JAVA 10 verwenden?) Ich kann ja mal probieren, ob es funktioniert, wenn ich so ein "Helloworld" noch mal komplett neu schreibe. P.P.P.P.S.: Tatsächlich - wenn ich es komplett neu schreibe, führt er es auch anstandslos aus - es liegt also AN DER VERSION. Damit ist schon mal ein großer Schritt getan, denke ich. Wie könnte ich das jetzt updaten? Schließlich und endlich ist es ja der Sinn, an den Projekten vom Kurs abends weiterzuarbeiten
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Entschuldige, JAVA 9 natürlich. 10 gibt*s vermutlich noch gar nicht.
Offenbar kann das JDK, das ich daheim installiert hab, diese Projekte nicht richtig lesen.
Dann wäre es sicherlich mal einen Versuch wert, einfach das openjdk_8 zu deinstallieren und stattdessen das openjdk_9 zu installieren, das ist ja auch in den Paketquellen.
Ich werde das, wenn ich dazukomme, heute abend mal probieren und mich zurückmelden.
Gruß, Qbuntschuh
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hmm ... gemacht ist das in der synaptic-Paketverwaltung schnell. Aber welche Pakete muss ich da entfernen? Und wie - normal "Entfernen" oder "vollständig entfernen"?
Viel kann ich da nicht kaputtmachen, denke ich. Für den allerschlimmsten Fall hab ich eine Live-Version, von der ich es also auch wieder installieren kann. Da fehlt zwar einiges an Software, aber das ist alles schnell wieder installiert. Wenn die Entwicklungsumgebung läuft, wollte ich mal einen neuen Live-USB-Stick anlegen, so dass ich quasi einen Wiederherstellungspunkt habe. P.S.: Ich hab jetzt mal die Pakete >> openjdk_8_jdk / openjdk_8_jdk_headless / openjdk_8_jre / openjdk_8_jre_headless << alle komplett deinstalliert und die namensgleichen Pakete mit der 9 (incl. aller Abhängigkeiten) installiert. Dabei gab es bei einem Paket einen Fehler, das > openjdk_9_jdk < wurde nicht installiert, weil da irgendwas schon vorhanden war.
Jetzt ist Eclipse erst mal weg. Das installier ich mal wieder und dann probier ich's noch mal. P.P.s.: Oh - mit eclipse wurden gleichzeitig ein paar 8er-Komponenten wieder installiert, aber irgendwas fehlt - aus dem ellenlangen Log-file werd ich nicht so recht schlau. In der synaptic-Paketverwaltung seh ich, dass eigentlich alle 8er-Pakete (die ich vorher vollständig entfernt hab) wieder installiert wurden. Vieleicht ist es einfacher, das System von meinem Live-USB-Stick noch mal neu zu installieren als dass wir da jetzt ewig reparieren, was meinst du? das Problem bleibt trotzdem, aber vieleicht kannst Du Dir was denken, was ich machen müsste? Wie gesagt, wenn ich in dem Eclipse - so wie's vorher war - irgendwelchen Code komplett neu schreibe, dann wird der auch anstandslos ausgeführt.
|
Neral
Anmeldungsdatum: 3. Oktober 2007
Beiträge: 229
|
Man kann auch mehrere JDKs nebeneinander installieren und in Eclipse dann auswählen, welches JDK man für welches Projekt nutzen möchte. Aktuell ist übrigens Java 11. Java 9 und 10 sind beide inzwischen nicht mehr supportet. Eclipse braucht Java 8, weil es selbst eine Java-Anwendung ist, und – wie gesagt – zumindest aus den Paketquellen sollten sich alle anderen JDK-Versionen nebenher installieren lassen. Warum das bei dir nicht funktioniert, kann ich nicht sagen. Und Aussagen wie „wurde nicht installiert, weil da irgendwas schon vorhanden war“ sind nicht konkret genug, um da gut helfen zu können. Ich hab’s gerade mal in einer 16.04-VM ausprobiert, das Java-9-JDK zu installieren, und es geht tatsächlich nicht, weil das Paket fehlerhaft ist. Siehe diese Frage auf AskUbuntu (mit Lösung für das Problem) und dieser Bug gegen das JDK-9-Paket auf Launchpad von 2016 (!), der immer noch nicht behoben ist. Hält dich etwas davon ab, auf 18.04 zu upgraden? Damit hättest du dann Java 10 (und bald 11, wenn die Paketquellen geupdatet werden). Wenn du das System nochmal komplett neu installieren möchtest, dann am besten auch gleich 18.04. Eclipse ist in allen Ubuntu-Versionen anscheinend seit 2012 nicht mehr aktualisiert worden und ist bei 18.04 immer noch bei v3.8. Da würde ich dann eine manuelle Installation von v4.9 in den Home-Ordner in Betracht ziehen. Oder eine andere IDE. Ansonsten verstehe ich gerade das Problem nicht so wirklich: Du versuchst, deinen mit Java 10 kompilierten Code vom Kursrechner auf deinen Rechner zu transplantieren und dann mit Java 8 auszuführen. Das geht nicht. Aber es sollte doch eigentlich reichen, nur den Quelltext (und die die kompilierten .class -Dateien) zu übertragen. Oder reicht es vielleicht sogar, einmal „Project“ → „Clean“ aufzurufen, um alle .class -Dateien zu entfernen?
|
Qbuntschuh
(Themenstarter)
Anmeldungsdatum: 14. Dezember 2005
Beiträge: 1303
Wohnort: Fujiyama
|
Hallo Neral, es war mein eigener Fehler - zumindest hab ich einen gemacht, muss nicht unbedingt das einzige Problem sein. Ich hatte die Projekte im Kurs nicht ordentlich ex-portiert, sondern nur kopiert. So kann man sie dann wohl in eine andere Entwicklungsumgebung nicht ordentlich im-portieren.
Das werd ich als nächstes ausprobieren.
Irgendein fehler ist ja jetzt drin. also werd ich das ganze System von meinem Live-USB-Stick jetzt noch mal ganz neu installieren. Dabei werd ich dann gleich auf 18.04 aktualisieren.
Das eclipse werd ich mir dann von der WebSite holen. Das landet dann nur im Home-Ordner.
Mal sehen, vieleicht funktioniert es ja dann.
Ich bedanke mich schon mal! Ich werde mich in jedem Fall wieder melden.
Gruß, Qbuntschuh
|