Erstellen Sie Java x Spring x VSCode x Gradle auf Docker (1)

Es wäre einfacher, wenn die Entwicklungsumgebung für Java und Spring auch mit Docker eingerichtet würde. In diesem Artikel habe ich auch VSCode in Docker aufgenommen. Da die gesamte Entwicklungsumgebung mit Docker verwaltet werden kann, wird dies empfohlen, da sie einfach zu verwalten ist.

Charakter

Was ist Docker?

Es ist eine Umgebung zum Ausführen einer Anwendung in einem Container unter Linux. Anwendungen und Bibliotheken können im selben Container konsolidiert und wiederverwendet werden. https://ja.wikipedia.org/wiki/Docker

VSCode https://ja.wikipedia.org/wiki/Visual_Studio_Code Editor von Microsoft. Wenn Sie das Dart Plugin installieren, können Sie die Interpolationsfunktion usw. verwenden. Dies ist praktisch.

Code-Server Es ist ein großartiger Typ, der VSCode als Webdienst ausführen kann. https://github.com/cdr/code-server

Versuchen Sie, eine Umgebung zu erstellen

https://github.com/kyorohiro/my-code-server/tree/master/java_spring

(1) Schreiben Sie eine Docker-Datei

FROM openjdk:11

#
# GRADLE
RUN mkdir /works
WORKDIR /works

RUN apt-get update
RUN apt-get install -y curl wget gnupg less lsof net-tools git apt-utils -y
RUN apt-get install -y build-essential libssl-dev curl git-core
RUN apt-get install -y emacs

RUN wget https://downloads.gradle.org/distributions/gradle-5.4.1-bin.zip
RUN unzip gradle-5.4.1-bin.zip
ENV PATH="/works/gradle-5.4.1/bin:${PATH}"

#
#Wird möglicherweise nicht benötigt
# https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-Für die Abhängigkeit
# nodejs for vscode plugin
RUN curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh
RUN sh install_nvm.sh
ENV NVM_DIR="/root/.nvm"

RUN chmod o+x /root/.nvm/nvm.sh
RUN /bin/bash -c "source /root/.nvm/nvm.sh && nvm install v12.0.0"
ENV PATH="/root/.nvm/versions/node/v12.0.0/bin/:${PATH}"

#
# code-server
RUN wget https://github.com/cdr/code-server/releases/download/1.939-vsc1.33.1/code-server1.939-vsc1.33.1-linux-x64.tar.gz
RUN tar xzf code-server1.939-vsc1.33.1-linux-x64.tar.gz -C ./ --strip-components 1

(1) Führen Sie das Docker-Image aus

docker build -t java_spring_vscode .
docker run -p 8443:8443 -p 8080:8080 -it java_spring_vscode bash

(2) Starten Sie vscode mit dem Code-Server

mkdir /works/w
/works/code-server /works/w --allow-http --no-auth

(3) und open'http: //127.0.0.1: 8443 / 'in einem Browser

root_page.jpg

Installieren Sie das Java Plugin

(1) https://marketplace.visualstudio.com/items?itemName=redhat.java

(2) Kann unnötig sein

.vscode/settings.json

{
    "java.home": "/usr/lib/jvm/java-11-openjdk-amd64",
    "java.maven.downloadSources": true,
    "java.import.gradle.enabled": true,
    "java.errors.incompleteClasspath.severity": "warning",
    "java.configuration.updateBuildConfiguration": "automatic"
}

Schreiben wir HelloWorld.

(1) Terminal -> New Terminal on VSCODE

(2) Am Terminal

$ gradle init --type java-application
$ gradle build

(3) Fügen Sie Eclipse zu build.gradle für das Redhat Java Plugin hinzu

plugins {
    id 'java'
    id 'application'
    id 'eclipse'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:27.0.1-jre'
   testImplementation 'junit:junit:4.12'
}

mainClassName = 'hello.App'

(4) Versuchen Sie, Hello World !! auszuführen.

$ gradle eclipse
$ gradle build
$ gradle run

Lassen Sie uns Spring Boot ausführen.

(1) Ändern Sie build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

bootJar {
    baseName = 'gs-rest-service'
    version =  '0.1.0'
}

repositories {
    mavenCentral()
}

sourceCompatibility = 11
targetCompatibility = 11

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

(2) Herunterladen eines Pakets

$ gradle build
$ gradle eclipse

(3) src/main/java/hello/App.java

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

(4) src/main/java/hello/Greeting.java

package hello;

public class Greeting {
    private final long id;
    private final String content;

    public Greeting(long id, String content) {
        this.id = id;
        this.content = content;
    }

    public long getId(){
        return this.id;
    }

    public String getContent() {
        return this.content;
    }
}

(5) src/main/java/hello/GreetingController.java

package hello;

import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return new Greeting(counter.incrementAndGet(),
                            String.format(template, name));
    }
}

(6) Versuchen Sie zu starten

 $ SERVER_PORT=8080 SERVER_HOST=0.0.0.0 gradle tasks bootRun

(7) and, open 'http://127.0.0.1:8080/greeting' at your browser

spring_page.jpg

das ist alles.

Code-Server war sehr praktisch. https://github.com/cdr/code-server

das Ende.

Der Code für diese Zeit ist unten zusammengefasst. https://github.com/kyorohiro/my-code-server/tree/master/java_spring

PS

[a] Wenn Sie fortfahren möchten

$ docker ps -a
check id and
$ docker start < id > 
$ docker exec -it < id > bash

[b] Wenn Sie die Einstellungen ändern möchten

$ docker commit < id > java_spring_vscode_xxx
$ docker run -p 8443:8443 -p 8080:8080 -it java_spring_vscode_xxx bash

[c] Montieren

$ docker run -p 8443:8443 -p 8080:8080 -v /Users/kyorohiro/w/xxx:/app/w -it java_spring_vscode bash

Recommended Posts

Erstellen Sie Java x Spring x VSCode x Gradle auf Docker (1)
Erstellen Sie Clang x VSCode auf Docker (1)
Erstellen Sie mit Gradle ein Spring Boot + Docker-Image
Erster Gradle Build (Java)
Erstellen Sie eine Entwicklungsumgebung für Docker, Java und Code
Spring + Gradle + Java Schnellstart
Oracle Java 8 unter Docker Ubuntu
Verwenden von Docker von Java Gradle
Erstellen eines Java-Projekts mit Gradle
Erstellen Sie eine Unity-Entwicklungsumgebung auf Docker
Wenn der Gradle-Build beim Importieren auf einem Mac beendet wird
Frühling × Docker
CICS-Java-Anwendung ausführen- (3) Build-Management mit Gradle
Erstellen Sie eine Java-Entwicklungsumgebung auf dem Mac
Erstellen Sie eine Java 8-Entwicklungsumgebung mit AWS Cloud 9
Aufbau der Spring Boot + Docker Java-Entwicklungsumgebung
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
Frühling Java
Erstellen Sie eine Redmine-Code-Leseumgebung in Docker
Erstellen Sie OpenCV mit Java Wrapper unter Ubuntu 18.04
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie eine Ultra96v2-Entwicklungsumgebung auf Docker 1
Erstellen Sie einen Webanwendungsserver (Java) auf VPS
Versuchen Sie, eine Java 8-Umgebung unter Amazon Linux2 zu erstellen
Stellen Sie Java 11 und Spring Tool Suite auf den Mac
[Gradle] Build-Vorgänge, die häufig in Java-Projekten ausgeführt werden
Einführung in Rspec mit Ruby on Rails x Docker
Erstellen Sie eine Laravel / Docker-Umgebung mit VSCode devcontainer
Erstellen und testen Sie Java + Gradle-Anwendungen mit Wercker
[Java] Erstellen Sie eine Java-Entwicklungsumgebung unter Ubuntu und überprüfen Sie die Ausführung
Erstellen Sie mit Gradle mit VSCode Java → Ausführen
Erstellen Sie mit Gradle Spring Boot-Projekte nach Umgebung
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Erstellen Sie einen Container für Docker x Laravel phpMyAdmin
[Java] Hallo Welt mit Java 14 x Spring Boot 2.3 x JUnit 5 ~
Installationsanweisungen für Docker unter Ubuntu18.04 unter WSL2 und VSCode
Erstellen Sie eine Java-Ausführungsumgebung auf Sakura VPS
Konstruktionsverfahren für LINE Bot x Java (Spring Boot)
Freiheit auf Docker
Vagabund Java bauen
Selen x Java
/ n \ n Docker Java
Erstellen Sie einen ELK-Stack unter Mac OS X und geben Sie das JAVA-Protokoll an Elasticsearch aus (log4j2).
[Java] Spring DI ③
Redmine auf Docker
Cache Gradle-abhängige Dateien, um die Docker-Erstellung zu beschleunigen
Erstellen Sie eine Java-Entwicklungsumgebung mit VS Code auf dem Mac
Erstellen Sie die VS Code + WSL + Java + Gradle-Umgebung von Grund auf neu
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
VSCode Java Debugger für Java Build fehlgeschlagen Ursachen und Gegenmaßnahmen
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen