Я разрабатываю REST-сервис с помощью underow + resteasy + ajckson, когда я запускаю это с помощью IDEA, все в порядке, но когда я создаю " жир-банку»с Gradle или мавена я получаю сообщение об ошибке во время GET запроса:org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: Не удалось найти MessageBodyWriter для объекта ответа типа
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: не удалось найти MessageBodyWriter для объекта ответа типа на org.jboss.resteasy. core.ServerResponseWriter.writeNomapResponse (ServerResponseWriter.java:67) по адресу org.jboss.resteasy.core.SynchronousDispatcher.writeResponse (Synchro nousDispatcher.java:448) на org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:397) на org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:200) на org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service (ServletContainerDispatcher.java:220) на org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:56) на org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:51) на javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
Я мог бы создать банку без ошибок с помощью gradle build
и отладить мой сервис в IDEA.
Мой Gradle файл:
apply plugin: 'application'
apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = 'example.json.RestServer'
jar {
manifest {
attributes 'Implementation-Title': 'Rest-server',
'Implementation-Version': '0.1',
'Main-Class': 'example.json.RestServer'
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
repositories {
jcenter()
}
dependencies {
compile 'io.undertow:undertow-core:1.4.0.Final'
compile 'io.undertow:undertow-servlet:1.4.0.Final'
compile 'org.jboss.resteasy:jaxrs-api:3.0.12.Final'
compile 'org.jboss.resteasy:resteasy-undertow:3.0.12.Final'
compile 'org.jboss.resteasy:resteasy-jackson-provider:3.0.12.Final'
testCompile 'junit:junit:4.12'
}
Мой источник:
@Path("calculator")
public class Calculator {
@GET
@Path("squareRoot")
@Produces(MediaType.APPLICATION_JSON)
public Response squareRoot(@QueryParam("input") double input){
Result result = new Result("Square Root");
result.setInput(input);
result.setOutput(Math.sqrt(result.getInput()));
return Response.status(200).entity(result).build();
}
Все код ОК WithMy, у меня есть ошибка с созданием Jar-файл, но я не мог найти, где – mystdeim