set provided scope in maven integrated with jboss

问题描述 投票:0回答:1

我在 IntelliJIDEA 14.0 中使用 jboss-eap-6.4 开发了一个基于 maven 的项目 (maven-3.3.9)。我正在使用

bouncy castle
库,我必须在 Maven 依赖项中将它们设置为
provided scope

  1. 我到底应该把 bouncy castle jar 文件放在哪里?
  2. 我应该设置什么配置?

第一题我尝试了两个选项如下:

  • 我把jar文件放在这里:
    jboss-eap-6.4\modules\org\bouncycastle\main\

  • 我把jar文件放在这里:
    jboss-eap-6.4\modules\system\layers\base\org\bouncycastle\main\

另外,我在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 引起:...
java maven jboss
1个回答
0
投票

你提到的错误是与maven无关的部署错误。

要将 JBoss 模块添加到您的应用程序,请创建一个名为

WEB-INF\jboss-deployment-structure.xml
的文件并在依赖项中添加该模块。在您的情况下,文件内容应如下所示。

<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.bouncycastle"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

部署时,jboss 会将模块加载到类路径中。

© www.soinside.com 2019 - 2024. All rights reserved.