Eclipse erzeugt plötzlich keine (default package) mehr

niklas._.kpl

Mitglied
Hallo, seit kurzem erzeugt mir Eclipse keinen (default package) mehr. Also sonst war es so das ich ein neues Java Projekt erstellt hat und dann wurde automatisch ein
(default package) im src Ordner erstellt. Vor kurzem kam eine Meldung (konnte nicht genau deuten was gemeint ist) und habe diese erstmal mit Ja bestätigt. Seit dem würd das (default package) nicht mehr erzeugt. Außerdem werden mir seit dem immer zwei Dateien angezeigt, die mir davor glaube, auch nicht angezeigt wurden.
1666187603141.png
Vielleicht wisst ihr ja woran das liegt.
Liebe Grüße Niklas
 
Das ist jetzt ein sehr kleines Bildschirmfoto - hast Du einen src Ordner? In Eclipse liegen die Sourcen in einem src Ordner. Den willst Du evtl. erst einmal anlegen.
 
Ich vermute du bist einfach in der falschen Perspektive (oder View). Normalerweise sieht man die versteckten Dateien nicht in der Java-Perspektive. Dafür sieht man aber die Packages.
 
Dann leg einfach mal eine Klasse an - dann wird das package angezeigt.

Es kann also schlicht daran liegen, dass das package leer ist.

Du kannst einstellen, was Eclipse in dem Package Explorer anzeigt. Also oben auf die 3 Punkt (Unter Windows ist es ggf. ein Pfeil Knopf?) drücken und dann auf Filters ... Da kannst Du dann auswählen, was alles versteckt werden soll. (Das ist wohl auch der Grund, dass du da die .* Files siehst. Die hast Du einfach nicht mehr ausgefiltert.)
 
Dann leg einfach mal eine Klasse an - dann wird das package angezeigt.

Es kann also schlicht daran liegen, dass das package leer ist.

Du kannst einstellen, was Eclipse in dem Package Explorer anzeigt. Also oben auf die 3 Punkt (Unter Windows ist es ggf. ein Pfeil Knopf?) drücken und dann auf Filters ... Da kannst Du dann auswählen, was alles versteckt werden soll. (Das ist wohl auch der Grund, dass du da die .* Files siehst. Die hast Du einfach nicht mehr ausgefiltert.)
Ich bin so doof, habe gerade mal eine Klasse erstellt und da steht ja als package sogar (default) in Klammern. Entschuldigung für die Zeitverschwendung, trotzdem danke für die Hilfe 😅
 
Du bist nicht doof. Wenn du die Klasse löschen solltest, dann dürfte das default Package auch stehen bleiben. Ich konnte bei mir keine Erklärung für das Verhalten finden. Mal verschwand es bei einer Umstellung aber beim Zurücksetzen wurde es nicht wieder angezeigt.

Du bist also aus meiner Sicht auf ein schwer erklärbares Verhalten gestoßen- das aber vermutlich niemanden interessiert außer uns jetzt hier. In der Regel hat man ja kein leeres src Verzeichnis.

Das also sozusagen zur „Ehr Rettung“ 🙂

BTW: hat noch niemand hier im Thread geraten, auf eine vernünftige IDE zu wechseln? SCNR 🙂
 
Was für eine IDE kannst du empfehlen?
Ich empfehle IntelliJ aber NetBeans soll auch (für Anfänger) sehr gut sein.

Zu so einer Aussage:
Eclipse kann nicht so schlecht sein
Fällt mir eigentlich nur ein: Scheiße kann gar nicht schlecht schmecken ... Milliarden von Fliegen stehen da total drauf....

Aber betrachten wir es mal etwas im Detail:

a) Was besagen diese Zahlen? Haben diese überhaupt eine Aussagekraft?
a1) Auf mich selbst gehen auch mehrere dieser Downloads zurück. Aber meine Meinung habe ich ja doch recht deutlich geschrieben...
a2) Es gibt genug Leute, die zu Eclipse genötigt werden. Ich kenne da z.B. Schulen in Hessen, die das vorgeben und an Unis habe ich das auch schon mitbekommen.
a3) Diese Zahlen müsste man in Relation sehen: Zum einen wäre die Frage, wie viele Downloads es von Netbeans und IntelliJ gibt. Und auch die zeitliche Entwicklung wäre wichtig.

b) Die Zielgruppe ist auch sehr wichtig. Ich habe mit Eclipse keine Probleme. Ich kann damit arbeiten. Aber ich nutze, wo immer ich kann, statt dessen eben mein Intellij IDEA.
Die Unterschiede sehe ich ganz massiv in der Anfängerfreundlichkeit:
b1) IntelliJ bietet da einfach extrem viel mehr Funktionalität (Viel mehr Probleme werden auf Knopfdruck gelöst. Kein suchen in den Einstellungen sondern meist ein Link, der wird gedrückt und fertig!) Das ist übrigens auch für Leute wie mich interessant - die Produktivität steigt meiner Meinung nach.
b2) Die Voreinstellungen sind deutlich durchdachter. Die Entwickler hinter Eclipse haben halt den Fokus auf Ihre Zielgruppe - und das sind meiner Meinung nach keine Anfänger! Wieso müssen bei der Vervollständigung die awt Klassen weggelassen werden? Was muss man rauchen, um das für sinnvoll zu erachten? Das ist so ein Beispiel, für etwas, das sich mir nicht wirklich erschliesst.

Ja, jeder soll das nutzen, was er nutzen will. Ich will da niemanden bevormunden. Und es gibt auch Leute, die viel Geld dafür ausgeben, erniedrigt oder geschlagen zu werden.... Wenn es denen Spaß macht ...

Aber ganz wichtig: Meine Sichtweise spielt absolut keine Rolle. Jeder kann sich die freien Entwicklungsumgebungen ansehen. Probiere einfach mal ein paar aus. Und dann nutz, womit Du am besten klar kommst. Das kann auch Eclipse sein. Freut mich sogar - ein User mehr, den wir hier von Zeit zu Zeit aktiv sehen.

Und meine Meinung zu Eclipse ist recht eindeutig. Und Eclipse nutze ich nur, wenn es keine wirkliche Alternative gibt (RCP Projekte ... Also wenn hier jemand maso ist: Das ist mein absoluter Geheimtipp!)
 
Den Import von awt unterdrücken find ich gut. Wer macht schon UI mit Java. Das hat mich auf die Idee gebracht, noch viel mehr zu unterdrücken.
 
Der war fies 😀
Ja, meine böse Seite kommt auch hin und wieder raus.

Aber evtl. hat mich Eclipse einfach zu oft zum weinen gebracht (Gleich etwas auf die Tränendrüse drücken 🙂 Oder ist es zu spät und ich bin jetzt zu böse und damit ist die Chance auf Mitleid endgültig vertan?) 🙂

Den Import von awt unterdrücken find ich gut. Wer macht schon UI mit Java. Das hat mich auf die Idee gebracht, noch viel mehr zu unterdrücken.
Ich überlege gerade, wo sich das wie auswirkt. Ok, awt Klassen tauchen manchmal auf - die java.awt.List würde mir da spontan in den Sinn kommen. Aber das hat sich bei mir bisher nie negativ ausgewirkt (Bei der Auto Vervollständigung könnte man es auswählen, aber es ist halt immer java.util.List an erster Stelle und man nutzt die vorgeschlagene Autovervollständigung).

Ist das Thema Laufzeit ein Problem? Oder Speicher? Das wäre noch eine Option. (Vielleicht bin ich da einfach zu gut bestückt - selbst meine uralt Systeme hatten mind. 16 GB Speicher. Das wäre aber ggf. ein wichtiger Punkt, um die vorgehaltenen Daten möglichst gering zu halten).

Ansonsten kommen die Java Module evtl. auch langsam in den Enterprise Bereich. Dann wäre das automatisch weg, weil java.desktop nicht mehr eingebunden wird (Spring 6 soll die module-info wohl unterstützen. Wie es bei anderen Frameworks oder Application Servern aussieht, weiss ich nicht). Aber ich habe irgendwie das Gefühl, dass ich auch zu einer absoluten Minderheit gehöre, weil ich da sowas dann auch nutzen können will 🙂

Also ganz wichtig:
a) Ich nehme das "Was muss man rauchen, um das für sinnvoll zu erachten?" zurück - bzw. ergänze ein "für Anfänger". (Da habe ich nicht gut genug über meine Worte nachgedacht und war deutlich zu allgemein!)
b) Ich bezweifle nicht, dass es für viele Entwickler so Sinn machen kann - so wie ganz offensichtlich für Dich. Aber ich denke, dass deutlich ist, dass es für einen Anfänger, der dann ggf. mit Swing etwas machen will, eher unglücklich ist ...
Und jemand, der erfahrener ist, der kann sich sowas auch schnell konfigurieren. Anders herum ist es eher problematisch.

Daher auch das Thema Zielgruppe. Anfängern wird das Leben eher schwer gemacht (ist mein Eindruck, der aber durchaus täuschen kann).
 
Aber evtl. hat mich Eclipse einfach zu oft zum weinen gebracht (Gleich etwas auf die Tränendrüse drücken 🙂 Oder ist es zu spät und ich bin jetzt zu böse und damit ist die Chance auf Mitleid endgültig vertan?) 🙂
Oooooooooooh, Du kannst Dich ja einer Bewegung anschließen, sowas wie #metoo böte sich da an 🙂

Wie es bei anderen Frameworks oder Application Servern aussieht, weiss ich nicht
Soll mit Jakarta EE 10 kommen, wenn ich es richtig im Kopf habe.

Den Import von awt unterdrücken find ich gut. Wer macht schon UI mit Java. Das hat mich auf die Idee gebracht, noch viel mehr zu unterdrücken.
Warum? (Die Frage meine ich ernst)
 
Ich finde es ist für Anfänger generell sehr schwierig. Man muss ja nicht nur Java lernen. Es kommt ja sofort die IDE dazu, dann Dateiformate, Filesysteme, Maven/Buildsysteme und es geht sofort weiter mit dem Backend also das ganze Server-Zeug und Datenbanken, Security. Dann will man auch was sehen und interagieren, also sofort HTML, CSS, JS und die entsprechenden Frameworks dazu. Dazu die ganzen Standards, Konzepte und Vorgehensmodelle etc.. Damit handelt man sich ganz schön was ein. Wer es nicht schafft sich selbständig durch Dokus, Tutorials und englische Hilfetexte durchzuarbeiten, hat da schon verloren.

Importe zu unterdrücken ist eine praktische Sache, in der Autovervollständigung kommt z.B.: das ganze com., com.oracle. - Zeug zuerst, obwohl man es nie verwenden würde Der Server-Classpath bringt das aber alles mit. Unsere API's starten normalerweise mit de., gov., org.* die relevanten fremden API's starten meist mit org., java., javax.*, bald auch jakarta. java.awt.List ist nur im Weg usw. Ich fange nie an das ganze Package irgendwo einzugeben, sondern mit der Klasse und nur die Großbuchstaben davon müsste dann über den Müll scrollen oder alles eintippen. Schreibfaul bin ich ja auch ein bisschen.
Etwas ungünstig ist die Filterung nach java.awt.* wenn man mit UI arbeiten will. Das einzige was man braucht ist java.awt.EventListener, da tippt man eben den Import schnell selbst. Seit Applet's tot sind braucht kein Mensch mehr java.awt - Komponenten, und das sind schon ein paar Jahre.
 
Nur das keine Missverständnisse auftreten: es geht nicht um Imports von awt Klassen.
Swing basiert auf awt und wenn man awt ausfiltert, dann fehlen alle geerbten Methoden. Dann hat das JFrame kein setVisible oder close mehr (laut Autovervollständigung). Also ist das schon sehr fatal (und tauchte daher hier im Forum schon mehrfach auf).
 
Ich fange nie an das ganze Package irgendwo einzugeben, sondern mit der Klasse und nur die Großbuchstaben davon müsste dann über den Müll scrollen oder alles eintippen.
Nur die Großbuchstaben?!? Was bist Du nur für eine faule Socke? 🙂 Ich schreibe List Strg+Space, dann taucht als erstes java.util.List auf. Es folgt der ganze jakarta-Käse (weil ich gerade ein EE-Projekt habe) und dann erst käme java.awt.List. Oder ich mache erstmal gar keine Imports und drücke am Ende auf Strg+Shift+I (Fix imports).
 
Ach je … ich schreibe List und drücke Tab (oder war es Enter? Macht man ohne Nachdenken … aber ich meine Tab) und schon habe ich den Import und so. Beim Schreiben macht IntelliJ Vorschläge - da könnte ich auch Navigieren oder so.

Das war bei Visual Studio ebenso.

Bei IntelliJ (und VS mit Resharper) ist das mit den Großbuchstaben aber auch gut - da muss man weniger Tippen - gerade wenn viele Klassen gleich starten erleichtert das die Tipperei enorm.
 
@KonradN, da hatte ich irgendwas anderes im Kopf, ich schau nochmal nach.
Du hattest das richtig im Kopf:
This allows developers to take full advantage of new features including the modular system introduced in Java SE 9 and supported in Java SE 11
 

Zurück
Oben