在Wildfly的战争部署期间,罐子中的课程无法上课



我试图将我的应用程序服务器从JBOSS4迁移到Wildfly 9.我的战争结构是

myWar.war
      - WEB-INF
           -lib
               -jar1   
               -jar2

当我在Wildfly中部署这场战争时,这些罐子内的类是无法访问的(ClassNotFoundException)。

阅读了有关Wildfly的更多信息后,我了解到在File JBoss-Deployment-structure.xml或subtest.mf

中,需要在wildfly中更改class Loading,并且需要明确提及依赖项。

我有点困惑,有2个问题 -

  1. 是否需要在jboss-deployment structure.xml或subtest.mf(作为罐子中的罐子战争的lib)?
  2. 如果是,如何准确指定罐子的这种依赖性?我尝试了一些通过他们的罐子名称/软件包提及依赖的方法jboss-deployment structure.xml等中的名字,但没有运气(每当我缺少依赖关系或模块时,都找不到例外,等)

我还必须在Wildfly的模块目录下创建一个模块吗?但是这些罐子是用我的构建脚本在战争文件中动态创建和包装的,因此我无法将罐子放在模块文件夹下(例如Quartz或MySQL Jars),因为这些不是静态的。

请帮助。

在战争的lib文件夹中不需要在subtest.mf或jboss-deployment-structure.xml中声明。

这些文件用于声明对野生蝇模块的依赖性(例如JDBC驱动程序,CXF依赖项等)。

您确定您的classNotFoundException来自战争的LIB文件夹中包含的罐子吗?您不需要做任何特殊的事情来加载战争的LIB文件夹。

Wildfly 9确实期望特定的结构化Web-Archives。从战争结构来看,每件事都很好。请重新检查战争结构与widfly 9相符。正确的结构应像:

myWar.war
 ---WEB-INF
    ------- lib
           ---- Jar 1
           ---- Jar 2
    -------- classes
           ---- Your classeses here
    -------- web.xml

最新更新