Création d'un environnement de développement jooby avec Eclipse Bien que cela soit lié à, j'aimerais pouvoir construire avec Gradle.
[Ici](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% Créez un répertoire de projet en vous référant à E7% B5% 82% E4% BA% 86). (Implémenté jusqu'à l'archétype maven)
[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
Consultez le site officiel de jooby et ajoutez les paramètres nécessaires.
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!
Cela semble fonctionner correctement.
Il n'a pas été rechargé. Si vous regardez attentivement, vous verrez l'affichage suivant sur la console.
>>> jooby:run[info|Daemon worker]: Hotswap available on: [C:\work\tmp\pleiades\eclipse]
Apparemment, le chemin d'installation d'Eclipse lui-même est devenu le répertoire de base. Après avoir étudié la source, il semble que le répertoire de référence puisse être défini avec la variable système ** user.dir **. Par conséquent, définissez les variables ci-dessus dans la tâche joobyRun. (Le chemin du projet racine de Gradle est-il sûr?)
build.gradle
~~~
joobyRun {
mainClassName = 'com.mycompany.App'
System.setProperty("user.dir", rootDir.path)
}
Hello World!
Il semble qu'il soit rechargé automatiquement.
[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!
cette? Il a été rechargé, mais le résultat de la correction n'est pas reflété.
Comme indiqué ci-dessous, le rechargement est détecté car le fichier de classe affiché par chacun est différent, mais le résultat réel du rechargement n'est pas reflété. Il semble que c'était dans une situation.
--Répertoire de compilation par défaut d'Eclipse: my-app / bin --Répertoire de compilation normalement utilisé par Gradle: build / classes / main
Spécifiez manuellement le répertoire de destination de la compilation Eclipse individuellement comme indiqué ci-dessous.
Hello World!
Hello World!!!!!!!!!!!!!!!!!!!
Cela se reflétait. Avec cela, il semble que vous puissiez utiliser l'environnement de développement avec gradle et poursuivre le travail de développement.
J'ai modifié manuellement les paramètres du chemin de classe dans Eclipse, donc je ne pense pas que ce soit la meilleure façon de le faire, mais est-ce toujours acceptable pour la première fois? (Vous pouvez peut-être bien le définir lors de la création d'un projet Gradle avec le plug-in Eclipse)