IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch?

nbergmann

Aktives Mitglied
Ich habe mir sagen lassen, dass IntelliJ immer mit Projekten arbeitet und man daher nicht einfach ein fertiges Programm laden und starten kann.
Wie aber lade ich ein fertiges Programm aus meinem Lehrbuch, so dass ich es mit RUN starten kann?
 

httpdigest

Top Contributor
IntelliJ IDEA kann schon sehr gut die Struktur eines Projektes automatisch erkennen. Dazu braucht es nicht vorher ein IntelliJ IDEA Projekt gewesen zu sein mit einer .iml Datei oder einem .idea/ Ordner. Versuche einfach mal, den Ordner, der die Quellcode-Dateien deines "Programms" beinhaltet, mit IntelliJ IDEA einfach zu öffnen (also File -> Open).
Also, wenn die Struktur deines "fertigen Programms" so aussieht:
Code:
/programm
|-src/
`-|-Main.java
dann öffne mal den Ordner "programm" in IntelliJ IDEA.

IntelliJ IDEA kann allerdings keine Programme aus "Büchern" laden. Du müsstest das Programm schon von dem Buch "abschreiben" und auf deinem lokalen Dateisystem speichern.
 

nbergmann

Aktives Mitglied
IntelliJ IDEA kann schon sehr gut die Struktur eines Projektes automatisch erkennen. Dazu braucht es nicht vorher ein IntelliJ IDEA Projekt gewesen zu sein mit einer .iml Datei oder einem .idea/ Ordner. Versuche einfach mal, den Ordner, der die Quellcode-Dateien deines "Programms" beinhaltet, mit IntelliJ IDEA einfach zu öffnen (also File -> Open).
Also, wenn die Struktur deines "fertigen Programms" so aussieht:
Code:
/programm
|-src/
`-|-Main.java
dann öffne mal den Ordner "programm" in IntelliJ IDEA.

IntelliJ IDEA kann allerdings keine Programme aus "Büchern" laden. Du müsstest das Programm schon von dem Buch "abschreiben" und auf deinem lokalen Dateisystem speichern.
Wenn ich das mache, z.B. mit einem simplen "HalloNorbert"-Programm, dass nur eine Zeile ausgibt, und ich starte RUN, auf welche Art auch immer, spielt der immer das vorletzte Programm ab, obwohl "HalloNorbert" geladen ist und im Editor-Fenster angezeigt wird.
 

httpdigest

Top Contributor
Ctrl+Shift+F10 oder rechtsclick im Editorfenster des Quellcodes des "Programmes", welches du starten möchtest, und im erscheinenden Kontextmenü "Run Klassenname.main()" anklicken oder den kleinen grünen Pfeil neben der main() Methode in der Outline vom Editor anklicken.
 

nbergmann

Aktives Mitglied
Ctrl+Shift+F10 und Rechtsklick im Editorfenster verursachen diese Fehlermeldung:
"Error: Could not find or load main class HalloRubina
Caused by: java.lang.ClassNotFoundException: HalloRubina"
Es gibr keinen kleinen grünen Pfeil neben der Main-Methode! Ich kenne den wohl und weiß, das der bei selbst erstellten Programmen da immer ist.

Ich bin in meinem Lehrbuch schon auf Seite 200 und wollte von Eclipse zu IntelliJ wechseln.
Aber wenn ich das nicht hinkriege, muss ich das aufgeben.
 

httpdigest

Top Contributor
Ich weiß nicht, was du mit "selbst erstelltem Programm" genau meinst, bzw. warum die Unterscheidung zu einem Buch hier wichtig ist.
Es ist doch völlig egal, woher das Programm bzw. der Quellcode (also die .java Dateien) nun kommen.
Ob von einem Buch abgeschrieben oder von einem YouTube Video abgetippt oder whatever...
Ich verstehe nicht, warum du da diese Unterscheidung machst bzw. überhaupt hervorhebst, dass das Programm von einem Buch kommt.
Was ist jetzt so speziell an einem Programm von einem Buch?

Um zu verstehen, wie dein Setup genau aussieht und was du gerade genau hast bzw. genau versuchst zu tun, müsstest du glaube ich schon viel mehr Details nennen.

Z.B.: Wie sieht exakt das Dateisystem unterhalb des Programmordners aktuell aus? Wo liegen welche Dateien? Wo sind die .java Dateien? Wie sehen die genau aus? Gibt es .class Dateien irgendwo? Hast du überhaupt ein JDK installiert (was man mit Eclipse nicht zwingend braucht)?
 

nbergmann

Aktives Mitglied
Ich wollte nur betonen, dass das Programm, das ich laden will, funktioniert.
Deswegen habe ich mich auf das einfachste beschränkt: Die Wiedergabe von zwei Worten. Wie bei "HelloWorld.java".
Ich habe JDK installiert.
Die Datei "HalloRubina.java" liegt im Verzeichnis C:\Java\Programme.
Dazu werden keine .class-Dateien oder sonstige Unterprogramme benötigt.
Hier ist der Code:
public class HalloRubina {
public static void main(String[] args) {
System.out.println("Hallo Rubina!";
}
}
Das Dateisystem unterhalb des Programmordners:
Unter C:\Java\Programme steht nur ein Programm, eben HalloRubina.java und ansonsten nur Unterverzeichnisse.
Jetzt habe ich nur noch eine Frage von dir nicht beantwortet: "Wo liegen welche Dateien?"
Die ist aber auch schwer zu beantworten.
Aber ich danke dir für deine Geduld und will dich nicht ärgern.
 

KonradN

Super-Moderator
Mitarbeiter
Kannst du uns ggf. sagen, welches Buch du gerade bearbeitest? (Oder habe ich das übersehen?) Dann können wir die Sourcen auch mal herunter laden und schauen, wie es strukturiert ist.

Wenn es mit Eclipse direkt geht, dann müssten da eigentlich auch Eclipse Projektdateien sein und diese kann IntelliJ auch erkennen und auswerten.

Dazu hatte ich Dir auch schon einmal ein Screenshot gesendet meine ich, wie dies im Öffnen Dialog von IntelliJ dargestellt wird.
 

nbergmann

Aktives Mitglied
Kannst du uns ggf. sagen, welches Buch du gerade bearbeitest? (Oder habe ich das übersehen?) Dann können wir die Sourcen auch mal herunter laden und schauen, wie es strukturiert ist.

Wenn es mit Eclipse direkt geht, dann müssten da eigentlich auch Eclipse Projektdateien sein und diese kann IntelliJ auch erkennen und auswerten.

Dazu hatte ich Dir auch schon einmal ein Screenshot gesendet meine ich, wie dies im Öffnen Dialog von IntelliJ dargestellt wird.
Guten Morgen Konrad!
Wegen ähnlichen Problemen wollte ich von Eclipse zu IntelliJ wechseln.
Diese konnte damals hier auch keiner lösen.
Nichts destotrotz:
Das unten stehende Programm Variablen1 läuft in Eclipse, aber nicht in IntelliJ.
Das Buch: Hans-Peter Habelitz - Programmieren lernen mit Java
Das habe ich bis S. 200 durchgearbeitet.
Dann haben mich die Ladeprobleme sowohl in Eclipse als auch in IntelliJ ausgebremst.

Ich habe in Eclipse Variablen1.java umbenannt, auch in der Kopfzeile, den Programmteil durch "System.out.println ("Hallo Friedi!"); " ersetzt und abgespeichert.
Bei RUN kommt die Fehlermeldung: "Editor does not contain a main type."
Das ist für mich nicht mehr logisch.

Java ist schon schwer genug. Aber diese Schwierigkeiten geben mir den Rest.

Vielleicht liegen die Ursachen außerhalb der Programme, in meinem Windows 7-Computer, ausgelöst durch unbeabsichtigte Fehleingaben.

Ich danke euch für eure Bemühungen, will euch aber auch nicht ewig damit auf die Nerven gehen.




Java:
/* Programm zum Testen der Verwendung von Variablen
 * @date 2019-08-04
 * @author Hans-Peter Habelitz
 */

public class Variablen1 {
    public static void main(String[] args) {

    // Deklarationen und Initialisierungen
    byte bZahl = 28;
    short sZahl = -18453;
    int iZahl = 4356576;
    long lZahl = 345236577970L;
    float fZahl = 4.37456678f;
    double dZahl = 3645.564782;
    boolean bestanden = true;
    char zeichen = '%';

    // Ausgabe der Variablenwerte
    System.out.print("bZahl=");
    System.out.println(bZahl);
    System.out.print("sZahl=");
    System.out.println(sZahl);
    System.out.print("iZahl=");
    System.out.println(iZahl);
    System.out.print("lZahl=");
    System.out.println(lZahl);
    System.out.print("fZahl=");
    System.out.println(fZahl);
    System.out.print("dZahl=");
    System.out.println(dZahl);
    System.out.print("bestanden=");
    System.out.println(bestanden);
    System.out.print("zeichen=");
    System.out.println(zeichen);
    }

}
Kannst du uns ggf. sagen, welches Buch du gerade bearbeitest? (Oder habe ich das übersehen?) Dann können wir die Sourcen auch mal herunter laden und schauen, wie es strukturiert ist.

Wenn es mit Eclipse direkt geht, dann müssten da eigentlich auch Eclipse Projektdateien sein und diese kann IntelliJ auch erkennen und auswerten.

Dazu hatte ich Dir auch schon einmal ein Screenshot gesendet meine ich, wie dies im Öffnen Dialog von IntelliJ dargestellt wird.
 

httpdigest

Top Contributor
Also, folgendes: Wenn ich einfach nur den von dir geposteten Code-Schnipsel nehme, einen Ordner ./projects/hallo anlege, darin dann den Code-Schnipsel als einzelne Variablen1.java Datei (mit exakt dem Namen Variablen1.java!) anlege, dann einfach IntelliJ IDEA öffne, dann in IntelliJ IDEA im Menü "File" -> "Open" anklicke und den Ordner ./projects/hallo auswähle und dann nur noch sage, dass ich bitte ein Java JDK/SDK haben möchte (da kommt eine Aufforderung im Editor der .java Datei oben), dann funktioniert alles wunderbar.
Beschreibe doch mal ganz genau und jeden einzelnen Click und jede einzelne Tastatureingabe was du gemacht hast. Das ist doch nicht zu fassen hier.
 

nbergmann

Aktives Mitglied
In der linken Spalte steht bei dir unter "Project" "Variablen1".
Bei mir steht dort "HalloNorbert".
Wie hast du das hingekriegt?
 

httpdigest

Top Contributor
Du verwendest hier ja schon eine Maven Projektstruktur. Also packe die Datei Variablen1.java mal irgendwo unterhalb des src/ Ordners (bzw. unter src/main/java - nach Maven Konvention).
"src" steht hier für "source" oder "sources", also zu Deutsch: "Quelltext/-dateien"
 

M.L.

Top Contributor
Testweise funktioniert es auch mit Maven (evtl. mit manuellem Eintrag in der "Run Configuration" als "Application" und Eintrag der "Main Class"):

HalloNorbert_Maven.png
 

Anhänge

  • HalloNorbert_Application.png
    HalloNorbert_Application.png
    20,7 KB · Aufrufe: 0

KonradN

Super-Moderator
Mitarbeiter
Ok, ich habe mir jetzt auch einmal die Materialien von dem Buch herunter geladen (https://www.rheinwerk-verlag.de/programmieren-lernen-mit-java/) und angesehen:

In dem ZIP ist ein ZIP Quellcode - da ist tatsächlich absolut keine Projektstruktur enthalten. Das ist etwas sehr ärgerlich.

Folgende Wege sehe ich:

a) Du baust Dir einfach ein neues Projekt und immer wenn Du in einem Kapitel bist, schiebst Du die Dateien des Kapitels in den src bzw src/main/java Ordner (Ja nach Projektstruktur. Du erkennst den richtigen Ordner in IntelliJ daran, dass dieser blau eingefärbt ist!)

Das dürfte recht gut funktionieren - zumindest beim schnellen durchgehen habe ich nur *.java Dateien gesehen (Je nach Projekt gehören andere Dateien ggf. in einen anderen Ordner - src/main/resources wäre da ein möglicher Ordner.)

b) Du verschiebst alle Dateien in den Ordner src/main/java (bzw. src) - das bringt aber leider ein paar Probleme mit sich;
b.1) die Unterordner werden alle zu sogenannten "packages". Damit fehlt da eine erste Zeile "package Kapitel1;" oder so.
Hier müsste man also die Dateien der Reihe durchgehen und diese Zeile einfügen bzw. einfügen lassen. IntelliJ sieht das auch und bietet da einen Fix an mit ALT Enter.
b.2) Es gibt doppelte Klassen (z.B. Kreisberechnung4JOptionPane) - In einem Projekt müssen alle Klassen eindeutig sein. Durch den Fix b.1 wird dies aber mit behoben - aber Du musst zumindest diese Problemfälle beheben.
b.3) Encoding - Die Dateien sind nicht UTF-8 kodiert sondern vermutlich CP-1252 (oder was das Windows Encoding ist). Das merkt IntelliJ auch und meckert das dann an - so in der Datei Umlaute verwendet wurden wie "Fläche" oder so. Aber das kann man ggf. sogar einfach ignorieren und hat dann halt kein "ä"

Bei den Arbeitsumgebungen gibt es in den JavaUebungxx Verzeichnissen .classpath und .project, aber da kommt beim Öffnen nicht zwingend etwas sinnvolles raus. Aber evtl. lag es auch daran, dass da noch ein weiteres ZIP war, das ich ggf. hätte entpacken müssen? Ob das mit Eclipse besser geht als mit IntelliJ? Ich würde generell sagen, dass ich da bei einem Buch die Materialien eher anders gewohnt bin und diese auch anders aufbereiten würde. Aber das ist erst einmal egal. Die Kapitel solltest Du mit den Hinweisen oben zumindest erst einmal durcharbeiten können.

Falls Du ein Projekt nimmst mit Java 9 oder neuer: Achte ggf. darauf, dass Du keine module-info.java Datei hast in Deinem Projekt. Wenn, dann kannst Du diese löschen oder umbenennen (Sonst hast Du ggf. Probleme, dass Du erst herausfinden musst, was für Module Du ggf. noch dort einbinden musst.

Das wäre da erst einmal so meine Sicht auf diese Problematik - vielleicht hilft es Dir ja. Und falls Du mit den Schritten bei b Probleme hast: Die kann man Dir ggf. auch einmal aufbereiten und dir dann zukommen lassen. (Wegen Copyright aber dann nur direkt ohne Veröffentlichung im Forum).
 

nbergmann

Aktives Mitglied
Du verwendest hier ja schon eine Maven Projektstruktur. Also packe die Datei Variablen1.java mal irgendwo unterhalb des src/ Ordners (bzw. unter src/main/java - nach Maven Konvention).
"src" steht hier für "source" oder "sources", also zu Deutsch: "Quelltext/-dateien"
Ich fass es nicht:
Du lieferst mir die Lösung nach Wochen vergeblicher Versuche.
Ich habe das Programm nach src/main/java/org.example: kopiert und es funktioniert.
Das habe ich dann auch mit anderen Programmen, auch mit Unterprogrammen, probiert: Es klappt.
Ich danke dir recht herzlich.

Verstehen muss ich das jetzt alles noch nicht. Aber die Möglichkeit, fertige Programme abzuspielen, war für den Gebrauch von IntelliJ unverzichtbar.
Erst jetzt kann es weiter gehen mit dem Java-Lernen.
 

nbergmann

Aktives Mitglied
Ok, ich habe mir jetzt auch einmal die Materialien von dem Buch herunter geladen (https://www.rheinwerk-verlag.de/programmieren-lernen-mit-java/) und angesehen:

In dem ZIP ist ein ZIP Quellcode - da ist tatsächlich absolut keine Projektstruktur enthalten. Das ist etwas sehr ärgerlich.

Folgende Wege sehe ich:

a) Du baust Dir einfach ein neues Projekt und immer wenn Du in einem Kapitel bist, schiebst Du die Dateien des Kapitels in den src bzw src/main/java Ordner (Ja nach Projektstruktur. Du erkennst den richtigen Ordner in IntelliJ daran, dass dieser blau eingefärbt ist!)

Das dürfte recht gut funktionieren - zumindest beim schnellen durchgehen habe ich nur *.java Dateien gesehen (Je nach Projekt gehören andere Dateien ggf. in einen anderen Ordner - src/main/resources wäre da ein möglicher Ordner.)

b) Du verschiebst alle Dateien in den Ordner src/main/java (bzw. src) - das bringt aber leider ein paar Probleme mit sich;
b.1) die Unterordner werden alle zu sogenannten "packages". Damit fehlt da eine erste Zeile "package Kapitel1;" oder so.
Hier müsste man also die Dateien der Reihe durchgehen und diese Zeile einfügen bzw. einfügen lassen. IntelliJ sieht das auch und bietet da einen Fix an mit ALT Enter.
b.2) Es gibt doppelte Klassen (z.B. Kreisberechnung4JOptionPane) - In einem Projekt müssen alle Klassen eindeutig sein. Durch den Fix b.1 wird dies aber mit behoben - aber Du musst zumindest diese Problemfälle beheben.
b.3) Encoding - Die Dateien sind nicht UTF-8 kodiert sondern vermutlich CP-1252 (oder was das Windows Encoding ist). Das merkt IntelliJ auch und meckert das dann an - so in der Datei Umlaute verwendet wurden wie "Fläche" oder so. Aber das kann man ggf. sogar einfach ignorieren und hat dann halt kein "ä"

Bei den Arbeitsumgebungen gibt es in den JavaUebungxx Verzeichnissen .classpath und .project, aber da kommt beim Öffnen nicht zwingend etwas sinnvolles raus. Aber evtl. lag es auch daran, dass da noch ein weiteres ZIP war, das ich ggf. hätte entpacken müssen? Ob das mit Eclipse besser geht als mit IntelliJ? Ich würde generell sagen, dass ich da bei einem Buch die Materialien eher anders gewohnt bin und diese auch anders aufbereiten würde. Aber das ist erst einmal egal. Die Kapitel solltest Du mit den Hinweisen oben zumindest erst einmal durcharbeiten können.

Falls Du ein Projekt nimmst mit Java 9 oder neuer: Achte ggf. darauf, dass Du keine module-info.java Datei hast in Deinem Projekt. Wenn, dann kannst Du diese löschen oder umbenennen (Sonst hast Du ggf. Probleme, dass Du erst herausfinden musst, was für Module Du ggf. noch dort einbinden musst.

Das wäre da erst einmal so meine Sicht auf diese Problematik - vielleicht hilft es Dir ja. Und falls Du mit den Schritten bei b Probleme hast: Die kann man Dir ggf. auch einmal aufbereiten und dir dann zukommen lassen. (Wegen Copyright aber dann nur direkt ohne Veröffentlichung im Forum).
Wie du siehst, hat der Ordner-Hinweis von M.L. endlich zur Lösung meines langfristigen Problems geführt.
Dieser ist in deinem neuen Schreiben ja auch enthalten.
Dieses habe ich ausgedruckt, zum genauen Studieren.
Herzlichen Dank für deine umfangreiche Mühe.
 

Neumi5694

Top Contributor
Verstehen muss ich das jetzt alles noch nicht.
Da ist jetzt nicht viel zu verstehen, das ist einfach der Ort, in den Sourcen reingehören, fertig. In meinem Fall bei Netbeas gehören sie standardmäßig einfach nur in scr (+Packagename natürlich), das kann man aber alles konfigurieren, wenn man damit nicht zufrieden ist.

Lies am Besten mal nach, welche Ordner in IntelliJ wofür verwendet werden, wofür z.B. der "target" Ordner gut ist.
 

Marsupilami

Mitglied
Über QuickFix und FixProjectSetup lässt sich aber zumindest in Eclipse auch schnell miglayout-swing.jar einbinden um das MigLayout im ContentPane implementieren zu können. In dem Buch wird meines Wissens nur Eclipse als IDE benutzt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 3
T IntelliJ / SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". Java Basics - Anfänger-Themen 4
Z IntelliJ Java Basics - Anfänger-Themen 4
M Anfängerfehler - Tests JUnit IntelliJ Java Basics - Anfänger-Themen 24
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
R Intellij javafx --> jar Java Basics - Anfänger-Themen 11
D maven dependencies re-importieren in intellij Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
lougoldi Intellij oder Eclipse Java Basics - Anfänger-Themen 7
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
D Ausführbare jar/exe aus JAVAFX Projekt erstellen (IntelliJ) Java Basics - Anfänger-Themen 14
S e(fx)clipse oder intellij Java Basics - Anfänger-Themen 13
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
R Applet Lade Problem Java Basics - Anfänger-Themen 5
B Lade Bild Java Basics - Anfänger-Themen 3
P wie erzeuge ich ein java date und lade in die mysql datebank Java Basics - Anfänger-Themen 5
Tacofan Hangman als fertiges Spiel Java Basics - Anfänger-Themen 7
O Wer kann mir ein fertiges Java Programm schreiben, Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben