Lassen Sie uns eine Kommunikationsanwendung in LAN Teil 1 erstellen. Neue Projekterstellung mit Maven und Java Entry Point

Nun, die Entwicklung begann so.

Diesmal eine im LAN verwendete Textübertragungs- / Empfangsanwendung.

Ich würde gerne Design sagen ... aber ist es in Ordnung, diesmal nur den Anwendungsfall zu verwenden?

Kommunikation ist Socket-Kommunikation, und es gibt viele Beispiele. Es ist in Ordnung Irgendwie (positiv)

Dieses Mal ist die Sprache Java und die Kommunikation ist TCP / IP. Ich werde Eclipse Oxigen 4.7.3a als Umgebung verwenden. Derjenige, der es alleine gelassen hat, nachdem er es in den PC gesteckt hat. Der Referenzport ist ... nun, entscheiden wir uns, indem wir die Würfel entsprechend würfeln.

Erstellen eines neuen Java-Projekts

Ich dachte, aber es war mein erstes Mal, dass ich Kratzer für Java-Programme entwickelte. Nun, jede Sprache hat eine etwas andere Angewohnheit, und wenn Sie herausfinden, was zu tun ist, wird es funktionieren.

Als ich darüber nachdachte, fand ich sofort etwas zu untersuchen. Irgendwie "ist es beim Erstellen eines Java-Programms üblich, ein Projekt mit Maven zu erstellen". Eclipse ist auch enthalten, Sie. Maven, ich habe davon gehört, nicht wahr?

Deshalb habe ich schnell nachgeforscht

Was ist Maven?

Referenz: Wikipedia-Maven

Maven scheint ein Projektmanagement-Tool für Java zu sein. Ich habe gehört, dass es sicherlich neben Red Mine als Projektmanagement-Tool benannt wurde. Ich wusste nicht, dass es der Nachfolger von Apache Ant ist. Ich meine, Ant ist nur das Bild, das ich für den Build verwendet habe.

Anscheinend ist das Bild nicht ganz anders, Build-Tool, Bibliotheksverwaltungstool, Java-Projektentwicklungsvorlage, Test-Tool usw. Es scheint ein integriertes Entwicklungsunterstützungs-Tool mit verschiedenen Funktionen zu sein. (Spezialisiert auf Java)

Persönlich mache ich mir wirklich Sorgen, dass es einfach ist, mit Jenkins zu arbeiten. Ich werde es später nachschlagen.

Ich verstehe die Gliederung, also erstelle eine neue ...

Jetzt, wo ich es ungefähr weiß, lassen Sie es uns jedes Mal überprüfen. Erstellen Sie zunächst ein neues Projekt mit Maven ...

Als ich darüber nachdachte, entschied ich mich für einen Archetyp. Mavens Archtyp ... Ist es wie eine Vorlage? Setzen Sie die Untersuchung fort, während Sie nachdenken.

Anscheinend ist die Idee selbst nicht falsch. Hoho. Welches soll ich diesmal wählen? (Edo Kind)

・ ・ ・

・ ・ ・

・ ・ ・ ・ ・ ・

Das? Ich kann keine Erklärung für Architype auf Japanisch finden.

Also habe ich es in Apache gesehen, dem Entwickler von Maven. Das Folgende ist eine japanische Übersetzung, die nach Humor riecht. Für diejenigen, die auf den Text verweisen möchten, hier (Englisch)

Group ID Artifact ID Erläuterung
org.apache.maven.archtypes maven-archetype-archetype Archetyp Erzeugt einen Beispielarchetyp
org.apache.maven.archtypes maven-archetype-j2ee-simple Generieren Sie einen vereinfachten J2EE-Beispielarchetyp (Enterprise)
org.apache.maven.archtypes maven-archetype-mojo Generieren Sie einen Archetyp für das Maven-Plug-In-Beispiel
org.apache.maven.archtypes maven-archetype-plugin Generieren Sie einen Archetyp für den Maven-Plug
org.apache.maven.archtypes maven-archetype-plugin-site Generieren Sie einen Archetyp für die Maven-Plug-In-Site
org.apache.maven.archtypes maven-archetype-portlet JSR-Generieren Sie einen Archetyp für das 268-Standardportlet-Beispiel
org.apache.maven.archtypes maven-archetype-quickstart Generieren Sie einen Archetyp für das Maven-Projektbeispiel
org.apache.maven.archtypes maven-archetype-simple Generieren Sie einen einfachen Maven-Projektarchetyp
org.apache.maven.archtypes maven-archetype-site Unterstützt Formate wie APT, XDoc, FML, i18n Ihrer Site(Mehrsprachig)Ich werde einen Archetyp generieren, der zeigt, wie es geht
org.apache.maven.archtypes maven-archetype-site-simple Generieren Sie einen Archetyp für das Maven-Site-Beispiel
org.apache.maven.archtypes maven-archetype-webapp Generieren Sie einen Archetyp für das Maven Web App-Beispiel

HM. Ich habe das Gefühl, dass es viele Dinge für das Web gibt. Es scheint interessant zu sein, also werde ich in Zukunft darüber nachdenken, diesmal habe ich mich für maven-arche type-simple entschieden Als ich darüber nachdachte, war es ursprünglich nicht in Eclipse registriert. Es bleibt keine andere Wahl, als den Schnellstart zu wählen. Es ist eine Anwendung, die auf einem Computer ausgeführt wird. Der Server ist im Haus, also können Sie darüber nachdenken.

Einmal gemacht, diesmal

Also habe ich es geschafft Plötzlich liegt ein Fehler vor.

2018y06m11d_232932824.jpg Project configuration is not up-to-date with pom.xml. Select: Maven->Update Project... from the project context menu or use Quick Fix.

Fehlerbehebung bei Maven-Fehler: Die Projektkonfiguration ist nicht aktuell

Als ich es nachgeschlagen habe, stand dort: "Es wird herauskommen, wenn sich die Einstellungen usw. nicht widerspiegeln." Wo meinen Sie, wenn Sie sagen: "Wählen Sie: Maven-> Projekt aktualisieren ... aus dem Projektkontextmenü oder verwenden Sie die Schnellkorrektur."

Ist die Einstellung des gesamten Projekts die Wurzel des Projekts? Wenn ich das Kontextmenü öffne, sehe ich einen solchen Eintrag. Wählen Sie [Projektstammkontextmenü (Rechtsklick)] - [Maven] - [Projekt aktualisieren], um diesen Bildschirm anzuzeigen. (Da die Tastenkombination auf Alt + F5 eingestellt war, ist GO mit der Tastenkombination ungeduldig!)

2018y06m11d_233748877.jpg

Wenn Sie hier auf OK klicken, war das Update erfolgreich.

Die Warnung kommt nach \ Connichiwa / ohne Zeit zum Atmen. Irgendwie geht der Build-Pfad nicht vorbei.

2018y06m11d_233946076.jpg Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.

Fehlerbehebung Maven-Warnung: Der Erstellungspfad gibt die Ausführungsumgebung an

Anscheinend ist das Problem, dass jre1.5 angegeben ist. Die Standardeinstellung für Maven ist jre1.5. Ich habe übrigens jre1.8 verwendet

[JRE-Systembibliothek-Kontextmenü (Rechtsklick)] - [Eigenschaften] - [Systembibliothek] Einstellungen Ich konnte die Warnung sicher entfernen, indem ich "Workspace default JRE (jre1.8.0_171)" einstellte.

2018y06m11d_235447310.jpg

Obwohl ich die Warnung deaktivieren konnte, wird sie im aktuellen Status erneut angezeigt, wenn ich ein Projektupdate schreiben kann. Das ist etwas unangenehm, deshalb habe ich beschlossen, andere Methoden zu untersuchen.

Der Punkt ist, dass Sie die Java-Version schreiben sollten, die in der Einstellungsdatei verwendet werden soll: pom.xml.

Nach der Untersuchung sollten die folgenden beiden Beschreibungen zusammen mit der JRE-Version zum Eigenschaftenelement von pom.xml hinzugefügt werden. Offiziell hier

Element Erläuterung
maven.compiler.source Der im Quellargument des Java-Compilers festgelegte Wert. Zeichenfolgentyp
maven.compiler.target Der im Zielargument des Java-Compilers festgelegte Wert. Zeichenfolgentyp

Wahrscheinlich das Äquivalent zu den Optionen -source und -target von javac. (Ich dachte, dass Javac in der offiziellen Compiler-ID angegeben wurde.) Übrigens, obwohl es im offiziellen Wert des Artikels geschrieben ist, ist der Standard 1,5.

Deshalb das Änderungsverfahren

So ändern Sie von Eclipse OverView

  1. Doppelklicken Sie im Projektexplorer auf pom.xml, um OverView anzuzeigen. 2018y06m12d_012406231.jpg

  2. Klicken Sie auf [Eigenschaften] - [Erstellen], um den Eingabedialog aufzurufen. 2018y06m12d_012758918.jpg

  3. Legen Sie den Elementnamen (entsprechend maven.compiler.source) im Feld Name und den Wert im Feld Wert fest.

  4. Bestätigen Sie, dass es reflektiert wurde. 2018y06m12d_015329080.jpg

Übrigens wurde Eclipse Oxigen 4.7.3a, das ich verwende, ohne automatische Vervollständigungsfunktion handgefertigt.

So ändern Sie die XML-Datei direkt

  1. Doppelklicken Sie im Projektexplorer auf pom.xml, um OverView anzuzeigen. 2018y06m12d_012406231.jpg

  2. Klicken Sie unten im Fenster auf die Registerkarte [pom.xml], um die Anzeige zu wechseln. 2018y06m12d_010813521.jpg

  3. Suchen Sie den Eigenschaftenblock und fügen Sie die Elemente maven.compiler.source und maven.compiler.target hinzu. 2018y06m12d_015923512.jpg

Um ehrlich zu sein, halte ich es für in Ordnung, direkt im aktuellen Status neu zu schreiben.

Was ist der Einstiegspunkt, obwohl der Bau der Umgebung abgeschlossen ist?

Alles was Sie tun müssen, ist es zu schaffen! ・ ・ ・ Aber ich war neugierig, also habe ich ein wenig recherchiert. Ist es in Ordnung, main () als Einstiegspunkt für Java-Anwendungen zu verwenden? Wie richtet man neben main () eine Klasse ein?

Ich dachte, also habe ich eine zusätzliche Untersuchung durchgeführt.

Wenn Sie nachschlagen, besteht kein Zweifel daran, dass der Einstiegspunkt main () ist. Es gibt jedoch keine Beschreibung zum Angeben der Klasse.

Meistens ist dies in den Projekteigenschaften! Zeigen Sie die Eigenschaften des Projektstamms mit Atari an. Sie können den Einstellungsbildschirm der Anwendung öffnen, indem Sie auf [Run / Debug Setting] - [Edit] klicken.

2018y06m12d_022410249.jpg Wenn Sie die [Bearbeiten] -Taste auf der rechten Seite des Bildschirms drücken ...

2018y06m12d_022517590.jpg Gehen Sie zum Detaileinstellungsbildschirm.

Es scheint also, dass die Hauptklasse hier die Halteklasse des Einstiegspunkts angibt. Lassen Sie uns also eine andere Hauptmethode erstellen und experimentieren.

2018y06m12d_023103090.jpg

Für App, Ppa Da main () in der App Hello World war, habe ich die Nachricht geändert. Auf Wiedersehen ist einsam, also mach eine Pause.

Ändern Sie also die Einstellung der Angelegenheit und führen Sie sie aus

Ich konnte den Einstiegspunkt sicher ändern. 2018y06m12d_023344212.jpg

Ursprünglich hatte ich nicht erwartet, mehrere Hauptmethoden zu schreiben Abgesehen von den Einstellungen zum Ausführen / Debuggen und Bearbeiten bin ich gespannt, dass es eine Schaltfläche Neu und eine Schaltfläche Duplizieren gab. Wenn Sie darüber nachdenken, können Sie hier anscheinend mehrere Startbedingungen speichern, daher werde ich darauf verzichten.

Wo ist der Inhalt der Einstellung? Ich habe viel gesucht, aber ich konnte es nicht finden. Als ich dachte, gab es eine Beschreibung in hier. Anscheinend gibt es ein Manifest ähnlich wie bei Android.

Ich war wirklich neugierig und setzte die Untersuchung fort. META-INF / MANIFEST.MF ist in der JAR vorhanden, die die kompilierten .class-Dateien sammelt, und sollte dort im Main-Class-Element festgelegt werden. Referenz: Einführung in Java in Tohoho, * Element zum Erstellen einer JAR-Datei *


Wir planen, ab morgen mit der Produktion zu beginnen. Die heutige Arbeitszeit ist 05:15:44.

Recommended Posts

Lassen Sie uns eine Kommunikationsanwendung in LAN Teil 1 erstellen. Neue Projekterstellung mit Maven und Java Entry Point
Lassen Sie uns eine Kommunikationsanwendung in LAN Teil 2 erstellen. Zeigen Sie ein Fenster mit JavaFX an / Warten Sie auf den Socket-Empfang
Lassen Sie uns eine Kommunikationsanwendung in LAN Teil 4 erstellen. Informationen in JavaFX-Steuerung festlegen / JavaFX-Bildschirm vom Thread aufrufen
Installieren Sie Java und Maven mit Brew auf einem neuen Mac
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
Socket-Kommunikation mit einem Webbrowser über Java und JavaScript ②
Socket-Kommunikation mit einem Webbrowser über Java und JavaScript ①
Machen Sie einen Diamanten mit Java
Erstellen wir eine Buchverwaltungs-Webanwendung mit Spring Boot part1
Lassen Sie uns mit Spring Boot part3 eine Webanwendung für die Buchverwaltung erstellen
Lassen Sie uns mit Spring Boot part2 eine Webanwendung für die Buchverwaltung erstellen
Erstellen Sie ein Java-Projekt mit Eclipse
Wie erstelle ich ein Maven-Projekt?
Erstellen eines Projekts (und eines GitHub-Repositorys) mit Java und Gradle mit IntelliJ IDEA
Java-Anfänger haben versucht, mit Spring Boot eine einfache Webanwendung zu erstellen
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Lassen Sie uns eine In-LAN-Kommunikationsanwendung erstellen. Teil 3 Erstellen eines JavaFX-Ereignishandlers / Erstellen einer Nachrichtenübertragungs- / Empfangsfunktion durch Socket-Kommunikation
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
[Java] Erstellen wir eine DB-Zugriffsbibliothek!
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster