| 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