OS ou logiciel | version |
---|---|
macOS | Sierra |
Eclipse | 4.6(NEON) |
(Eclipse plugin)Buildship Gradle Integration | 2.0 |
Java SE | 1.8.0_121_b13 |
glassfish | 4.1.1 |
gradle | 3.4.1 |
Je vais omettre l'installation.
--Créer un projet gradle Dans Eclipse, créez un nouveau projet en sélectionnant [Nouveau]> [Gradle]> [Gradle Project].
--Ouvrez les propriétés du projet et ajoutez "Project Facet".
--Ajouter "Module WEB dynamique". À ce moment-là, sélectionnez "Runtime" sur le côté droit de l'écran des facettes du projet et sélectionnez "Glassfish 4".
--Modifiez build.gradle comme suit.
build.gradle
apply plugin: 'war'
apply plugin: 'java-library'
repositories {
mavenCentral()
jcenter()
}
dependencies {
providedCompile 'org.projectlombok:lombok:1.16.4'
compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
compile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.6'
providedCompile 'javax:javaee-web-api:7.0'
providedCompile fileTree(dir: '/glassfish4/glassfish/modules', include: '*.jar')
api 'org.apache.commons:commons-math3:3.6.1'
implementation 'com.google.guava:guava:21.0'
testImplementation 'junit:junit:4.12'
}
war {
exclude 'WEB-INF/lib/**'
exclude 'WEB-INF/classes/**'
}
--Cliquez avec le bouton droit sur le projet et sélectionnez [Gradle]> [Refresh Gradle Project].
À ce moment, il y a un événement mystérieux que le runtime Glassfish de la bibliothèque disparaît. J'ai besoin d'ouvrir à nouveau le fichier du projet et de le rattacher ... Je ne sais pas pourquoi (transpirer)
java:link.griffin.study_gradle.jaxrs.ApplicationConfig.java
package link.griffin.study_gradle.jaxrs;
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
@ApplicationPath("stdy")
public class ApplicationConfig extends ResourceConfig {
public ApplicationConfig(){
//Enregistrez votre propre ressource
this.packages(ApplicationConfig.class.getPackage().getName());
this.packages("com.snail.waf21.rest")
//Inscrire une classe à Jacson
.register((new JacksonJaxbJsonProvider(new ObjectMapper(),
JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)))
//Enregistrer la classe pour JSONP
.register(org.glassfish.jersey.jackson.JacksonFeature.class);
}
}
java:link.griffin.study_gradle.jaxrs.SampleResource.java
package link.griffin.study_gradle.jaxrs;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import link.griffin.study_gradle.jaxrs_sdo.DataSdo;
@Path("rs")
public class SampleResource {
@GET
@Path("run")
@Produces(MediaType.APPLICATION_JSON)
public DataSdo run(){
DataSdo data = new DataSdo();
data.setName("hogehoge");
data.setId(12345);
return data;
}
}
java:link.griffin.study_gradle.jaxrs_sdo.DataSdo.java
package link.griffin.study_gradle.jaxrs_sdo;
import javax.xml.bind.annotation.XmlRootElement;
@lombok.Data
@XmlRootElement
public class DataSdo {
private String name = "";
private Integer id = 0;
}
Recommended Posts