我试图在Java 7应用程序中使用PicketLink。到目前为止,这些项目编译时没有出现错误。但是,当我试图将应用程序部署到WildFly 10上时,它会终止,但有以下例外:
起因: java.lang.NoClassDefFoundError: org/picketlink/Identity
首先,我尝试添加Picketlink (picketlink-impl:2.5.5.SP2)作为我的ear的依赖项(在lib目录中)。但是这提供了更多的例外,即对于所有内部picketlink类,其中一个例外是:
java.lang.NoClassDefFoundError:未能链接org/picketlink/内部/抽象标识(模块“.”)来自):org/picketlink/Identity
我认为Picketlink已经作为一个模块部署在WildFly 10中。是否缺少激活Picketlink的配置?
发布于 2018-01-26 14:47:52
将picketlink模块依赖项添加到jboss-deployment-structure.xml文件中:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.picketlink"/>
</dependencies>
</deployment>
</jboss-deployment-structure>如果您没有此文件,则应将其放置在META(或web用于web部署)中。
编辑:
它应该放在顶级部署中。请参阅https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7
https://stackoverflow.com/questions/48460749
复制相似问题