首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JBoss中使用Jackson2作为7.1 - ModuleNotFoundException

在JBoss中使用Jackson2作为7.1 - ModuleNotFoundException
EN

Stack Overflow用户
提问于 2015-05-07 21:21:55
回答 2查看 1.3K关注 0票数 2

我正尝试在我正在研究的web项目(Goncalves petstore-ee6)中使用Jackson2注释。我需要将依赖resteasy-jackson2-provider部署为一个模块,并排除JBoss默认提供的版本(Jackson 1.9)。

我跟随this recommendations就是为了实现这一点,但我不能让它工作。

在项目的pom.xml中,我添加了:

代码语言:javascript
复制
<dependency>
 <groupId>org.jboss.resteasy</groupId>
 <artifactId>resteasy-jackson2-provider</artifactId>
 <version>3.0.1.Final</version>
</dependency>

在WEB-INF目录中,我创建了一个包含以下内容的jboss-deployment-structure.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
 <deployment>
  <exclusions>
   <module name="org.jboss.resteasy.resteasy-jackson-provider" />
  </exclusions>
  <dependencies>
   <module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import" />
  </dependencies>
 </deployment>
</jboss-deployment-structure>

依赖项包含在WAR-file/WEB-INF/lib中,但在尝试部署时出现以下异常:

代码语言:javascript
复制
14:23:56,165 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.module.service."deployment.applicationPetstore.war".main: org.jboss.msc.service.StartException in service jboss.module.service."deployment.applicationPetstore.war".main: Failed to load module: deployment.applicationPetstore.war:main
    at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:91) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
Caused by: org.jboss.modules.ModuleNotFoundException: Module org.jboss.resteasy.resteasy-jackson2-provider:main is not found in local module loader @e902fd (roots: D:\dev\ide\jboss-as-7.1.1.Final\modules)
    at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126)
    at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275)
    at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222)
    at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94)
    at org.jboss.modules.ModuleLoader.preloadExportedModule(ModuleLoader.java:233)
    at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:246)
    at org.jboss.as.server.moduleservice.ServiceModuleLoader.preloadModule(ServiceModuleLoader.java:160) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.modules.Module.addPaths(Module.java:841)
    at org.jboss.modules.Module.link(Module.java:1181)
    at org.jboss.modules.Module.relinkIfNecessary(Module.java:1207)
    at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:208)
    at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more

我看了几篇关于使用JBoss已经提供的依赖项部署项目的帖子,但没有找到适合我的东西……

我遗漏了什么或者理解错了什么?

要在JBoss中使用Jackson2,我应该怎么做?

如果可能,我希望避免使用静态模块,因为我不应该有访问JBOSS_HOME的权限。

附加信息:我使用的是JBoss 7.1.1最终版。

我希望这是有意义的,英语不是我的母语。

EN

回答 2

Stack Overflow用户

发布于 2017-07-20 00:22:57

它对你有效吗?

我在JBOSS_HOME中添加了org.jboss.resteasy.resteasy-jackson-provider模块,服务器启动正常。

我在我的代码中使用了下面的依赖项。

代码语言:javascript
复制
<groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson2-provider</artifactId>
<version>3.0.2.Final</version>

尽管如此,当我拨打电话时,它仍在使用codehaus jackson。

代码语言:javascript
复制
1:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)     at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673)
11:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)    at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659)
11:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)    at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365)
11:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)    at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725)
11:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)    at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703)
11:18:35,227 INFO  [stdout] (http-/127.0.0.1:8016-1)    at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580
票数 0
EN

Stack Overflow用户

发布于 2019-01-24 20:13:11

您的配置是正确的,但是您还需要在JBoss中安装您正在使用的模块。

JBoss模块是从模块文件夹中加载的,它是包含在项目依赖项中还是包含在war中并不重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30102364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档