You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java1.6迁移至1.8后JBOSS部署ear文件抛出IllegalArgumentException异常

问题根因

该报错为JBoss EAP 7/WildFly系列版本的部署规则校验错误,核心原因是EAR包内的novartis-clinpro-web.war子模块被引用时,模块名没有按照JBoss要求添加deployment.前缀,无法被服务模块加载器识别。

修复步骤
  • 步骤1:修正Maven ear构建配置
    打开ear模块的pom.xml文件,检查maven-ear-plugin的<modules>配置,删除web模块下自定义的<moduleName>配置项,不要手动指定不符合规则的模块名。
    参考正确配置:
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-ear-plugin</artifactId>
      <version>2.10.1</version>
      <configuration>
        <version>6</version>
        <modules>
          <webModule>
            <groupId>com.novartis</groupId> <!--替换为你的web模块实际groupId-->
            <artifactId>novartis-clinpro-web</artifactId>
            <contextRoot>/clinpro</contextRoot>
            <!-- 移除手动配置的<moduleName>标签 -->
          </webModule>
        </modules>
      </configuration>
    </plugin>
    
  • 步骤2:修正JBoss部署描述符配置
    解压构建好的EAR包,检查META-INF/jboss-deployment-structure.xml文件,所有引用内部子模块的配置都需要添加deployment.前缀+EAR包名前缀,错误示例:
    <module name="novartis-clinpro-web.war" />
    
    修正后写法:
    <module name="deployment.novartis-clinpro-ear.ear.novartis-clinpro-web.war" />
    
    无特殊类加载隔离需求的场景可以直接删除该文件,使用JBoss默认类加载规则即可。
  • 步骤3:重新构建部署
    执行mvn clean package命令重新打包,将新生成的EAR包部署到JBoss即可。

内容的提问来源于stack exchange,提问作者ritika raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:15:03