Wie der Titel schon sagt, hatte ich die Gelegenheit, Java zum ersten Mal seit 10 Jahren bei der Arbeit zu erleben, also werde ich es jetzt selbst studieren. Es handelt sich um eine Studie eines vorhandenen Systems, das in Betrieb ist. Es handelt sich also nicht um den neuesten Technologie-Stack, sondern um eine etwas ältere Kombination.
Web-Apps werden nicht bereitgestellt, sondern nur lokal ausgeführt.
Java wurde zuvor installiert, daher werde ich es so verwenden, wie es ist. Java 8 statt 14 oder 11 aufgrund von Umständen für Erwachsene.
$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Da es vorerst Mac ist, setzen Sie Maven mit Gebräu.
$ brew install maven
(Abkürzung)
$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
(Abkürzung)
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
Auch IntelliJ IDEA Community installiert. Da ich es mit GUI eingegeben habe, wird die Methode weggelassen.
Ändern Sie die Einstellungen nach Ihren Wünschen. Das war hilfreich. https://www.karakaram.com/intellij-idea-always-do-things/
Ich benutze den Grundstil so wie er ist, aber er ist nicht gut für die psychische Gesundheit, deshalb habe ich nur ein wenig mit Keymap gespielt (besonders C-h, C-d).
Erstellen Sie vorerst ein leeres Projekt auf GitHub und klonen Sie es. Dies ist das Arbeitsverzeichnis.
$ git clone https://github.com/sekikatsu36/spring-sample.git
$ cd spring-sample
$ git config --local user.name "sekikatsu36"
$ git config --local user.email "(Abkürzung)"
Erstellen Sie mit IntelliJ ein neues Maven-Projekt. Behalten Sie die Standardeinstellungen bei, ohne Einstellungen zu ändern.
Damit ist der Ausgangszustand abgeschlossen.
$ ls -a
. .DS_Store .gitignore pom.xml src
.. .git .idea spring-sample.iml
Es gibt viele Spring Boot-Artikel im Web und nur wenige Spring Frameworks. Da ich jetzt jedoch ein Feder-Framework benötige, habe ich pom.xml geändert, um es verwendbar zu machen.
Dies ist das ausgefüllte Formular.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example.api</groupId>
<artifactId>spring-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- pom.Ermöglichen Sie, dass die Version als Variable in XML behandelt wird-->
<spring.version>5.2.5.RELEASE</spring.version>
<jetty.version>9.4.11.v20180605</jetty.version>
</properties>
<dependencies>
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- jetty -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.14.v20181114</version>
</plugin>
</plugins>
</build>
</project>
Am Anfang habe ich nur "Eigenschaften" und "Abhängigkeiten" geschrieben. Andere Punkte werden später beschrieben.
In meiner Umgebung wurde die Fehlermeldung "org.springframework.spring-webmvc: 5.2.5.RELEASE" nicht gefunden. Es existiert in Repository.
Mach Folgendes
mvn clean install
Ergebnis
/ Users / (Benutzername) /. M2 / repository / org / springframework / spring-webmvc / 5.2.5.RELEASE
wurde hinzugefügt
--IntelliJ zeigte immer noch den Fehler an, aber nach dem erneuten Laden von Maven verschwand der FehlerGrundsätzlich können Sie dies gemäß https://qiita.com/kasa_le/items/6aaf17823db67c951fb0 tun. Da es sich bei diesem Artikel jedoch um "IntelliJ IDEA Ultimate" handelt, wird in "IDEA Community" Ansicht erstellen angezeigt Nach 9C% E6% 88% 90) funktioniert es nicht so wie es ist.
Der Vorgang des Erstellens des Controllers und des Ansichtsordners wird vorerst auf diese Weise abgeschlossen. Folgendes wird getan.
/src/main
/java/org/example/controllers
IndexController.java
/webapp/WEB-INF
/views
web.xml
dispatcher-servlet.xml
Bei der Community Edition scheint "JSP / JSPX" beim Erstellen einer neuen Datei nicht angezeigt zu werden, da keine Spring-Unterstützung vorhanden ist. https://www.jetbrains.com/ja-jp/idea/features/editions_comparison_matrix.html
Wählen Sie also normalerweise "Datei" und erstellen Sie alles selbst.
index.jsp
<%@ page import="org.example.controllers.IndexController" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Spring Test Page</title>
</head>
<body>
<p>${someAttribute}</p>
</body>
</html>
Verwenden Sie für Erwachsene Jetty anstelle von Tomcat. In Ultimate (kostenpflichtige Version) von IntelliJ IDEA scheint Tomcat standardmäßig integriert zu sein (?). Da es sich jedoch um eine Community handelt, kann es ohnehin nicht verwendet werden. Jetty muss nicht im Voraus installiert werden, daher ist es einfach.
Unter Bezugnahme auf http://zetcode.com/spring/jetty/ habe ich pom.xml Folgendes hinzugefügt.
<packaging>war</packaging>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.14.v20181114</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
In diesem Staat
mvn jetty:run
Wenn Sie durch Ausführen auf "http: //0.0.0.0: 8080" zugreifen, wird Hello World sicher angezeigt.
Wenn Sie die Quell- und Zielversion nicht mit dem Maven-Compiler-Plugin angeben, scheint es 5 zu sein, und es tritt ein Fehler auf. http://orionb312.hatenablog.com/entry/2018/03/06/233734
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project spring-sample: Compilation failure: Compilation failure:
[ERROR]Quelloption 5 wird derzeit nicht unterstützt. Bitte verwenden Sie 7 oder höher.
[ERROR]Zieloption 5 wird derzeit nicht unterstützt. Bitte verwenden Sie 7 oder höher.
Das fertige Produkt ist unten. https://github.com/sekikatsu36/spring-sample
Vorerst konnte ich bestätigen, dass der Frühling funktioniert. Ich möchte ein bisschen mehr tun.
Recommended Posts