【发布时间】:2016-05-19 05:08:18
【问题描述】:
我正在使用 Jackson JSON 提供程序来序列化/反序列化 JAXRS 请求。
为了设置它,我在WEB-INF 文件夹下有一个jboss-deployment-structure.xml 文件:
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-jettison-provider"/>
</exclusions>
<dependencies>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
所以,为了得到它,我已经构建了一个测试:
@RunWith(Arquillian.class)
public class FollowUpActivityDTOSerializationTest
{
@Inject private ObjectMapper mapper;
@Deployment
public static WebArchive createDeployment()
{
System.getProperties().remove("javax.xml.parsers.SAXParserFactory");
EmbeddedGradleImporter importer = ShrinkWrap.create(EmbeddedGradleImporter.class);
WebArchive war = importer.forThisProjectDirectory().importBuildOutput().as(WebArchive.class);
war.addClass(ArquillianAlternative.class);
war.addClass(MockFactory.class);
war.addAsWebInfResource(
new StringAsset("<alternatives><stereotype>com.living.mock.ArquillianAlternative</stereotype></alternatives>"),
"beans.xml"
);
JavaArchive[] libs = Maven.resolver().resolve("org.mockito:mockito-core:2.0.31-beta").withTransitivity().as(JavaArchive.class);
war.addAsLibraries(libs);
return war;
}
@Test
public void emptyJSON()
{
String emptyJSON = "{\"id\": \"id\"}";
try {
FollowUpActivityDTO dto = this.mapper.readValue(emptyJSON, FollowUpActivityDTO.class);
assertNotNull(dto);
assertEquals(dto.getId(), "id");
} catch (IOException e) {
fail(e.getMessage());
}
}
}
问题是 Weld 告诉我:
带有限定符 @Default 的类型 ObjectMapper 的依赖关系不满足
问题,我怎样才能得到杰克逊提供者?
【问题讨论】:
-
我不知道杰克逊罐子是否真的在战争中,请也添加该输出。
标签: json jackson jax-rs wildfly-8 jboss-arquillian