首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在wildfly-swarm ejb-jar部署上添加thirdy-party依赖项的正确方法

在wildfly-swarm ejb-jar部署上添加thirdy-party依赖项的正确方法
EN

Stack Overflow用户
提问于 2018-02-20 21:47:34
回答 1查看 471关注 0票数 0

我正在尝试为只包含MDB的ejb-jar部署创建一个wildfly swarm jar。

bean onMessage方法使用一个thirdy party库,该库包含在项目依赖项中。

生成的uber jar包含该库,但是由于某种原因,当我尝试使用该库时,我得到了一个ClassNotFound异常。

如果我们将打包类型从简单的"jar“更改为"war”,一切都会按预期进行。

将第三方依赖添加到wildfly swarm的简单ejb-jar部署中的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 20:27:45

我不确定什么是“正确”的解决方案。我总是觉得有点奇怪,一个尾巴包(以前是野蝇群)总是需要是一场战争,并且总是需要包括undertow和/或jaxrs,即使它们没有被使用。

正如上面的第一个注释所暗示的,在JAR包中包含第三方依赖项是可能的。

在maven项目的src/main/resources中,我添加了子目录modules/com/example/mymodule/main,并在main目录中添加了module.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.example.mymodule">
<resources>
    <artifact name="org.apache.pdfbox:pdfbox:2.0.13" />
</resources>

<dependencies>
    <module name="org.apache.commons.logging"></module>
    <module name="org.apache.commons.io"></module>
    <module name="org.apache.httpcomponents"></module>
</dependencies>
</module>

上面的xml引用了我的POM中包含的maven工件。您也可以引用其他模块。

然后,我向src/main/resources/META-INF添加了一个jboss-deployment-structure.xml

代码语言:javascript
复制
<jboss-deployment-structure>
<deployment>
    <dependencies>
        <module name="com.example.mymodule" />
    </dependencies>
</deployment>
</jboss-deployment-structure>

你添加到POM中的任何第三方依赖项现在都需要添加到module.xml中。我知道这有点痛苦,如果maven插件能做点什么来自动化这件事,那就太好了。

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

https://stackoverflow.com/questions/48886770

复制
相关文章

相似问题

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