首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为JBoss-7、WildFly-8提供apache模块

为JBoss-7、WildFly-8提供apache模块
EN

Stack Overflow用户
提问于 2013-11-18 12:16:41
回答 2查看 2.5K关注 0票数 2

不幸的是,我为JBoss7 (和WildFly8.0.0.Beta 2)创建一个模块的尝试失败了,我看不到我所犯的错误,我所做的是:

1.)在<wf-root>/modules/org/apache/shiro/main创建一个目录,

2.)将shiro-core-1.2.2.jarshiro-ehcache-1.2.2.jarshiro-web-1.2.2.jar文件复制到其中

3.)创建一个名为module.xml的文件,其内容如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.apache.shiro">  
    <resources>  
        <resource-root path="shiro-core-1.2.2.jar"/>  
        <resource-root path="shiro-ehcache-1.2.2.jar"/>  
        <resource-root path="shiro-web-1.2.2.jar"/>  
    </resources>
</module>

接下来,我启动了服务器。不幸的是,部署了一个EAR文件,该文件要求shiro失败部署,但有以下错误(代码片段):

代码语言:javascript
复制
Caused by: java.lang.NoClassDefFoundError: org/apache/shiro/mgt/SecurityManager
    at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_25]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792) [rt.jar:1.7.0_25]
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:345) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:423) [jboss-modules.jar:1.3.0.Final]
    ... 31 more

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-14 01:23:27

只需向META-INF/MANIFEST.MF文件的主部分添加一行,就可以更简单、简洁地表示对自定义模块的依赖:

代码语言:javascript
复制
Dependencies: org.apache.shiro

有关更多信息,请参见:https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly

票数 2
EN

Stack Overflow用户

发布于 2015-09-09 14:41:28

虽然这个问题已经得到了回答,而且答案是正确的,但它忽略了一个相关的解决方案:全局模块。

从上一个答案中的相同链接中,您也可以将其配置为全局模块,然后就不必更改您的MANIFEST.MF了,当同一个容器中的多个应用程序共享相同的依赖项时,我将使用此方法。

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

https://stackoverflow.com/questions/20047594

复制
相关文章

相似问题

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