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

如何用Maven构建Web应用生成含.class的文件夹用于JBoss部署(不打WAR包)

使用Maven构建Web应用并生成可用于JBoss部署的.class文件夹(不生成WAR包)

方法1:生成完整可部署的展开式Web目录

这种方式会产出包含WEB-INF/classes(存放.class文件)及所有Web资源的完整目录结构,可直接部署到JBoss,无需打包成WAR包。

操作步骤:

  • 确保pom.xml中打包类型为war(Web应用默认配置):
    <packaging>war</packaging>
    
  • 无需额外修改插件配置,直接在项目根目录执行命令:
    mvn clean war:exploded
    

执行完成后,target目录下会生成一个与项目最终名称匹配的文件夹(默认格式为${project.artifactId}-${project.version},可通过build.finalName自定义),目录结构示例:

target/your-web-app/
├── WEB-INF/
│   ├── classes/          # 编译后的.class文件存放目录
│   ├── lib/              # 项目依赖JAR包(按需包含)
│   └── web.xml           # Web应用核心配置文件
├── index.jsp             # 静态页面、资源文件等
└── ...

将该文件夹复制到JBoss的deployments目录即可完成部署,建议将目录名改为.war结尾(如my-web-app.war),方便JBoss识别。

方法2:仅生成编译后的.class文件目录

如果只需要Java类的编译结果,可直接执行编译命令:

mvn clean compile

编译后的.class文件会存放在target/classes目录中。但注意,这个目录仅包含类文件,缺少Web应用必需的配置文件和静态资源,无法直接部署,需自行补充Web结构后再部署到JBoss。

自定义配置提示

若要调整生成目录的名称或依赖打包规则,可在pom.xml中配置maven-war-plugin:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>3.3.2</version>
      <configuration>
        <!-- 自定义展开目录名称 -->
        <warName>my-jboss-web-app</warName>
        <!-- 是否将依赖包打包到WEB-INF/lib,true则合并到classes目录 -->
        <archiveClasses>false</archiveClasses>
      </configuration>
    </plugin>
  </plugins>
</build>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:13:15