Я использую play2.2.1 и теперь я столкнулся ошибка:com.fasterxml.jackson.databind.node.ObjectNode не могут быть преобразованы в org.codehaus.jackson.node.ObjectNode
com.fasterxml. jackson.databind.node.ObjectNode не могут быть преобразованы в org.codehaus.jackson.node.ObjectNode
код выглядит так:
package controllers;
import play.*;
import play.data.*;
import play.mvc.*;
import play.db.ebean.*;
import views.html.*;
import java.util.*;
import models.*;
import com.avaje.ebean.ExpressionList;
import play.data.validation.Constraints.Required;
import scala.*;
import play.libs.Json;
import org.codehaus.jackson.node.ObjectNode;
public class Application extends Controller {
//create JSON data
public static Result ajax() {
String input = request().body().asFormUrlEncoded().get("input")[0];
ObjectNode result = Json.newObject();
if(input == null) {
result.put("status", "BAD");
result.put("message", "Can't get sending data...");
return badRequest(result);
} else {
result.put("status", "OK");
result.put("message", input);
return ok(result);
}
}
И эта ошибка возникает при ObjectNode result = Json.newObject();
. Однако, я подтвердил, что возвращаемое значение статического метода newObject()
является org.codehaus.jackson.node.ObjectNode
на [] [1] https://playframework.com/documentation/2.0/api/java/play/libs/Json.html
версии ссылки API является 2,0, а не 2,2, так что-то другое здесь существует? Глубоко, когда я импортирую com.fasterxml.jackson.databind.node.ObjectNode
и удаляю import org.codehaus.jackson.node.ObjectNode;
, приложение работает хорошо. Может ли кто-нибудь объяснить это поведение? Почему сообщение об ошибке противоречит ссылке API?
У вас, кажется, конфликтующие библиотеки FasterXML/Jackson –