Erstellen einer Jooby-Entwicklungsumgebung mit Eclipse Obwohl es damit zusammenhängt, möchte ich mit Gradle bauen können.
[Hier](http://qiita.com/kitaji0306/items/a8deddb194f845a4fbd6#maven%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7% E3% 82% AF% E3% 83% 88% E3% 83% 87% E3% 82% A3% E3% 83% AC% E3% 82% AF% E3% 83% 88% E3% 83% AA% E3% 81% AE% E4% BD% 9C% E6% 88% 90% E3% 81% 93% E3% 81% 93% E3% 81% BE% E3% 81% A7% E3% 81% A7% E3% 82% B5% E3% 83% BC% E3% 83% 90% E5% 86% 85% E3% 81% A7% E3% 81% AE% E4% BD% 9C% E6% A5% AD% E3% 81% AF% Erstellen Sie ein Projektverzeichnis unter Bezugnahme auf E7% B5% 82% E4% BA% 86). (Implementiert bis zum Maven-Archetyp)
[vagrant@localhost ~]$ sudo mkdir /opt/gradle
[vagrant@localhost ~]$ sudo wget https://services.gradle.org/distributions/gradle-3.5.1-bin.zip -O /opt/gradle/gradle-3.5.1-bin.zip
--2017-07-18 09:21:40-- https://services.gradle.org/distributions/gradle-3.5.1-bin.zip
Resolving services.gradle.org (services.gradle.org)... 104.16.174.166, 104.16.175.166, 104.16.171.166, ...
Connecting to services.gradle.org (services.gradle.org)|104.16.174.166|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://downloads.gradle.org/distributions/gradle-3.5.1-bin.zip [following]
--2017-07-18 09:21:40-- https://downloads.gradle.org/distributions/gradle-3.5.1-bin.zip
Resolving downloads.gradle.org (downloads.gradle.org)... 104.16.171.166, 104.16.172.166, 104.16.173.166, ...
Connecting to downloads.gradle.org (downloads.gradle.org)|104.16.171.166|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73302707 (70M) [application/zip]
Saving to: ‘/opt/gradle/gradle-3.5.1-bin.zip’
100%[====================================================================================>] 73,302,707 19.4MB/s in 4.1s
2017-07-18 09:21:44 (17.2 MB/s) - ‘/opt/gradle/gradle-3.5.1-bin.zip’ saved [73302707/73302707]
[vagrant@localhost ~]$ sudo unzip -d /opt/gradle/ /opt/gradle/gradle-3.5.1-bin.zip
Archive: /opt/gradle/gradle-3.5.1-bin.zip
creating: /opt/gradle/gradle-3.5.1/
inflating: /opt/gradle/gradle-3.5.1/LICENSE
~~~
[vagrant@localhost ~]$ cd /vagrant/my-app/
[vagrant@localhost my-app]$ /opt/gradle/gradle-3.5.1/bin/gradle init --type pom
Starting a Gradle Daemon (subsequent builds will be faster)
:wrapper
:init
Maven to Gradle conversion is an incubating feature.
BUILD SUCCESSFUL
Total time: 7.44 secs
build.gradle
[vagrant@localhost my-app]$ cat build.gradle
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
group = 'com.mycompany'
version = '1.0-SNAPSHOT'
description = """my-app"""
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
configurations.all {
}
repositories {
maven { url "http://repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'org.jooby', name: 'jooby-netty', version:'1.1.3'
compile group: 'ch.qos.logback', name: 'logback-classic', version:'1.1.7'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'io.rest-assured', name: 'rest-assured', version:'3.0.1'
[vagrant@localhost my-app]$ /opt/gradle/gradle-3.5.1/bin/gradle eclipse
:eclipseClasspath
:eclipseJdt
:eclipseProject
:eclipse
BUILD SUCCESSFUL
Total time: 1.68 secs
Besuchen Sie die offizielle Website von jooby und fügen Sie die erforderlichen Einstellungen hinzu.
--buildscript Block
buildscript {
repositories {
mavenCentral()
}
dependencies {
/** joobyRun */
classpath group: 'org.jooby', name: 'jooby-gradle-plugin', version: '1.1.3'
}
}
apply plugin: 'java'
apply plugin: 'jooby'
group = 'com.mycompany'
version = '1.0-SNAPSHOT'
description = """my-app"""
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
configurations.all {
}
repositories {
maven { url "http://repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'org.jooby', name: 'jooby-netty', version:'1.1.3'
compile group: 'ch.qos.logback', name: 'logback-classic', version:'1.1.7'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'io.rest-assured', name: 'rest-assured', version:'3.0.1'
}
joobyRun {
mainClassName = 'com.mycompany.App'
}
[2017-07-18 09:50:08,097]-[HotSwap] INFO com.mycompany.App - [dev@netty]: Server started in 1292ms
GET / [*/*] [*/*] (/anonymous)
listening on:
http://localhost:8080/
Hello World!
Es scheint richtig zu funktionieren.
Es wurde nicht neu geladen. Wenn Sie genau hinschauen, sehen Sie die folgende Anzeige auf der Konsole.
>>> jooby:run[info|Daemon worker]: Hotswap available on: [C:\work\tmp\pleiades\eclipse]
Anscheinend ist der Installationspfad von Eclipse selbst zum Basisverzeichnis geworden. Nach der Untersuchung der Quelle scheint das Referenzverzeichnis mit der Systemvariablen ** user.dir ** festgelegt werden zu können. Definieren Sie daher die obigen Variablen in der Aufgabe joobyRun. (Ist der Pfad von Gradles Root-Projekt sicher?)
build.gradle
~~~
joobyRun {
mainClassName = 'com.mycompany.App'
System.setProperty("user.dir", rootDir.path)
}
Hello World!
Es scheint, dass es automatisch neu geladen wird.
[2017-07-18 12:13:26,477]-[HotswapScanner] INFO com.mycompany.App - Stopped
~~~
[2017-07-18 12:13:27,693]-[HotSwap] INFO com.mycompany.App - [dev@netty]: Server started in 1102ms
GET / [*/*] [*/*] (/anonymous)
listening on:
http://localhost:8080/
Hello World!
Das? Es wurde neu geladen, aber das Korrekturergebnis wird nicht wiedergegeben.
Wie unten gezeigt, wird das erneute Laden erkannt, da die von jedem angezeigte Klassendatei unterschiedlich ist, das tatsächliche Ergebnis des erneuten Ladens jedoch nicht wiedergegeben wird. Es scheint, dass es in einer Situation war.
--Eclipse Standard-Kompilierungsverzeichnis: my-app / bin --Kompilierungsverzeichnis, das normalerweise von Gradle verwendet wird: build / classes / main
Geben Sie das Zielverzeichnis für die Eclipse-Kompilierung manuell an, wie unten gezeigt.
Hello World!
Hello World!!!!!!!!!!!!!!!!!!!
Es wurde reflektiert. Damit können Sie anscheinend die Entwicklungsumgebung mit gradle betreiben und mit der Entwicklungsarbeit fortfahren.
Ich habe die Klassenpfadeinstellungen in Eclipse manuell geändert, daher denke ich nicht, dass dies die beste Methode ist, aber ist sie zum ersten Mal noch akzeptabel? (Vielleicht können Sie es gut einstellen, wenn Sie ein Gradle-Projekt mit dem Eclipse-Plug-In erstellen.)
Recommended Posts