Hi, ich versuche micht gerade mit Jersey und Jackson um POJOs in JSON zu wandeln und umgekehrt. Ich habe mir folgende libraries in mein Projekt aufgenommen:
aopalliance-repackaged-2.2.0.jar
asm-all-repackaged-2.2.0.jar
commons-codec-1.6.jar
commons-logging-1.1.3.jar
fluent-hc-4.3.3.jar
hk2-api-2.2.0.jar
hk2-locator-2.2.0.jar
hk2-utils-2.2.0.jar
httpclient-4.3.3.jar
httpclient-cache-4.3.3.jar
httpcore-4.3.2.jar
httpmime-4.3.3.jar
jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar
javassist-3.18.1-GA.jar
javax.annotation-api-1.2.jar
javax.inject-2.2.0.jar
javax.servlet-api-3.0.1.jar
javax.ws.rs-api-2.0.jar
jaxb-api-2.2.7.jar
jersey-client.jar
jersey-common.jar
jersey-container-servlet-core.jar
jersey-container-servlet.jar
jersey-guava-2.7.jar
jersey-server.jar
org.osgi.core-4.2.0.jar
osgi-resource-locator-1.0.1.jar
persistence-api-1.0.jar
validation-api-1.1.0.Final.jar
Also alles was das Jersey ZIP File for non-maven developers her gibt. Den Download habe ich von https://jersey.java.net/download.html in der Version 2.7.
Laut Dokumentation (https://jersey.java.net/documentation/latest/media.html#json.jackson) muss ich einen ObjectMapperProvider anbieten und das JacksonFeature registrieren:
Hier ist mein Problem, dass er Feature.IDENT_OUTPUT nicht finden kann.
Hier kann er JacksonFeature.class nicht finden.
Weiss jemand Rat?
aopalliance-repackaged-2.2.0.jar
asm-all-repackaged-2.2.0.jar
commons-codec-1.6.jar
commons-logging-1.1.3.jar
fluent-hc-4.3.3.jar
hk2-api-2.2.0.jar
hk2-locator-2.2.0.jar
hk2-utils-2.2.0.jar
httpclient-4.3.3.jar
httpclient-cache-4.3.3.jar
httpcore-4.3.2.jar
httpmime-4.3.3.jar
jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar
javassist-3.18.1-GA.jar
javax.annotation-api-1.2.jar
javax.inject-2.2.0.jar
javax.servlet-api-3.0.1.jar
javax.ws.rs-api-2.0.jar
jaxb-api-2.2.7.jar
jersey-client.jar
jersey-common.jar
jersey-container-servlet-core.jar
jersey-container-servlet.jar
jersey-guava-2.7.jar
jersey-server.jar
org.osgi.core-4.2.0.jar
osgi-resource-locator-1.0.1.jar
persistence-api-1.0.jar
validation-api-1.1.0.Final.jar
Also alles was das Jersey ZIP File for non-maven developers her gibt. Den Download habe ich von https://jersey.java.net/download.html in der Version 2.7.
Laut Dokumentation (https://jersey.java.net/documentation/latest/media.html#json.jackson) muss ich einen ObjectMapperProvider anbieten und das JacksonFeature registrieren:
Code:
@Provider
public class MyObjectMapperProvider implements ContextResolver<ObjectMapper> {
final ObjectMapper defaultObjectMapper;
final ObjectMapper combinedObjectMapper;
public MyObjectMapperProvider() {
defaultObjectMapper = createDefaultMapper();
combinedObjectMapper = createCombinedObjectMapper();
}
@Override
public ObjectMapper getContext(Class<?> type) {
if (type == CombinedAnnotationBean.class) {
return combinedObjectMapper;
} else {
return defaultObjectMapper;
}
}
private static ObjectMapper createDefaultMapper() {
final ObjectMapper result = new ObjectMapper();
result.configure(Feature.INDENT_OUTPUT, true);
return result;
}
// ...
}
Hier ist mein Problem, dass er Feature.IDENT_OUTPUT nicht finden kann.
Code:
// Create JAX-RS application.
final Application application = new ResourceConfig()
.packages("org.glassfish.jersey.examples.jackson")
.register(MyObjectMapperProvider.class) // No need to register this provider if no special configuration is required.
.register(JacksonFeature.class);
Hier kann er JacksonFeature.class nicht finden.
Weiss jemand Rat?
Zuletzt bearbeitet: