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

如何构建前后端分层结构的Maven多模块项目并生成可运行程序

配置预校验

先确认各层POM的核心配置符合多模块规则,避免构建时报错:

  • 根项目MyProject的pom.xml:packaging设置为pom,modules节点明确引入<module>Frontend</module>和<module>Backend</module>,建议在根POM的dependencyManagement中统一声明整个项目通用的依赖版本(如基础工具包、框架版本),减少子模块重复配置。
  • Frontend、Backend层的pom.xml:packaging同样为pom,parent节点指向根项目MyProject的坐标,modules节点分别引入各自的子业务模块(如Frontend引入Window、Backend引入Database)。你计划在Frontend的dependencyManagement中声明后端模块依赖的方案是可行的,注意填写后端模块的完整groupId、artifactId,版本用${project.version}统一管理即可,子模块引用时无需再写版本号。
  • 业务子模块(Window、Database等):packaging设置为jar,parent节点指向对应的上层父模块(Window的parent为Frontend、Database的parent为Backend);如果Window需要依赖Database,直接在Window的dependencies中填写Database的groupId和artifactId即可,无需重复声明版本。

构建操作步骤

所有命令默认在MyProject根目录执行,Maven会自动识别模块依赖关系,按正确顺序构建,不会出现依赖找不到的问题:

  • 仅验证代码编译、单元测试是否正常,不生成本地安装包:
    mvn clean verify
    
  • 将所有模块的包安装到本地Maven仓库,方便本地开发调用:
    # 跳过单元测试可加 -DskipTests 参数
    mvn clean install
    
  • 直接打包出可运行程序:
    你的启动类在Window模块,执行以下命令即可只构建Window及其所有依赖的模块,最终输出可执行jar:
    mvn clean package -pl Window -am
    
    参数说明:
    • -pl:指定需要最终构建的目标模块,填模块的artifactId即可
    • -am:自动构建目标模块依赖的所有上游模块,无需手动逐个构建
      打包完成后,可执行jar会生成在Window/target目录下。

可运行包配置注意事项

如果你的项目是SpringBoot项目,需要在Window模块的pom.xml中额外配置spring-boot-maven-plugin,否则打出来的jar缺少主类信息无法直接运行,配置示例如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 替换为你自己的启动类全路径 -->
                <mainClass>com.yourpackage.Main</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

打包完成后,执行java -jar 生成的jar包名称.jar即可启动程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:36:03