我在IntelliJIDEA 14.0中使用jboss-eap-6.4开发了一个基于maven的项目(maven-3.3.9)。我正在使用bouncy castle
库,我必须将它们设置为在 maven 依赖项中provided scope
。
- 我应该把充气城堡罐子文件放在哪里?
- 我应该设置什么配置?
对于第一个问题,我尝试了两种选择,如下所示:
- 我把jar文件放在这里:
jboss-eap-6.4modulesorgbouncycastlemain
和
- 我把jar文件放在这里:
jboss-eap-6.4modulessystemlayersbaseorgbouncycastlemain
此外,我在 jar 文件旁边的module.xml
中提供了以下配置:
<?xml version=1.0" encoding=UTF-8"?>
<module xmlns="run:jboss:module:1.1" name="org.bouncycastle">
<resources>
<resource-root path="bcpkix-jdk15on-1.54.jar"/>
<resource-root path="bcprov-jdk15on-1.54.jar"/>
</resources>
<dependencies>
<module name="javax.api" slot="main" export="true"/>
</dependencies>
</module>
但是,当我清理并安装 maven 时,出现以下错误:
- 项目剥离期间出错
- 由java.lang.RunTimeException引起:...
- 由java.lang.NoClassDefFoundError引起:...
- 由java.lang.ClassNotFoundException引起:...
您提到的错误是与 maven 无关的部署错误。
要将 JBoss 模块添加到您的应用程序,请创建一个名为 WEB-INFjboss-deployment-structure.xml
的文件,并在依赖项中添加该模块。在您的情况下,文件内容应如下所示。
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.bouncycastle"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
部署时,jboss 会将模块加载到类路径中。