springboot多模块开发中实现打包

前言

因为我使用的是idea社区版,所以在创建项目的时候他没有springboot的选项,所以只能创建普通maven项目
在这里插入图片描述
创建完成查看项目结构和pom文件
在这里插入图片描述
这里我并没有觉得有什么不对劲,所以没管,就去搭建其他模块了,这里就不展示了。

后来我需要把项目进行打包放到服务器上运行的时候,出问题了。

我是正常的把父工程clear -> install后然后在去运行启动工程的jar包,这是我还原出来的错:
在这里插入图片描述

解决方法

1、先贴上我的项目结构
在这里插入图片描述
说一下依赖关系后面有用到

  • common 依赖 system
  • system 依赖 common

2、首先你的父工程要有子工程的模块 并且 要声明打包方式为pom
在这里插入图片描述

3、倒着来,admin -> system ->common 在pom文件中修改

  • pom.xml(sm-admin)
    在这里插入图片描述
    <build>
        <!--使用的插件列表 。 -->
        <plugins>
            <!--plugin元素包含描述插件所需要的信息。 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--作为DOM对象的配置 -->
                <configuration>
                    <!-- 如果未指定,main将使用找到的第一个包含方法的编译类。这里指定启动类-->
                    <mainClass>com.SmApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • pom.xml(sm-system)
    在这里插入图片描述
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 您可以通过在配置部分上添加参数skip来跳过启动 -->
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • pom.xml(sm-common)
    在这里插入图片描述

4、完成上面那步后,记得重新加载一下maven

  • 这里关于maven的打包有一个执行顺序,跟我上面提到的依赖关系有关
  • 首先是 针对父工程 clear -> install
    在这里插入图片描述
  • 根据依赖关系 依次执行
    在这里插入图片描述
  • 执行完后查看控制台,前往jar包的目录执行
    在这里插入图片描述

5、执行 java -jar sm-admin-1.0-SNAPSHOT.jar
在这里插入图片描述

上面就是我解决方法,如果这篇文章描述的不够清晰,可以前往B站查看视频 springboot模块化开发项目搭建以及打包部署流程

我也是根据观看视频后解决的!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring Boot模块项目结构一般如下: ``` ├── parent │ ├── module1 │ ├── module2 │ └── pom.xml ├── pom.xml └── README.md ``` 其,`parent` 为父项目,`module1` 和 `module2` 为子模块。 在实际开发,每个子模块都会有自己的 `pom.xml` 文件,并且通过 `parent` 模块的 `pom.xml` 进行统一管理。 Gradle 是一款基于 Groovy 的构建工具,类似于 Maven。Gradle 也可以用于构建 Spring Boot模块项目。 Gradle 的多模块项目结构与 Maven 类似,也是一个包含多个子项目的根目录,每个子项目有自己的 build.gradle 文件。 下面是一个简单的 Gradle 多模块项目结构: ``` ├── build.gradle ├── settings.gradle ├── module1 │ └── build.gradle └── module2 └── build.gradle ``` 其,根目录下的 `build.gradle` 和 `settings.gradle` 分别用于配置整个项目和所有子项目的基本信息,每个子项目有自己的 `build.gradle` 配置文件。 关于 Gradle 如何打包 Spring Boot模块项目,可以参考下面的示例: ``` plugins { id 'org.springframework.boot' version '2.4.0' id 'io.spring.dependency-management' version '1.0.10.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' java.sourceCompatibility = '11' subprojects { apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'com.example' version = '0.0.1-SNAPSHOT' java.sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation platform('org.springframework.boot:spring-boot-dependencies:2.4.0') implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } } task packageAll(type: Zip) { baseName = 'my-application' version = '' destinationDir = file("$buildDir/distributions") from subprojects.output } ``` 在上述示例,使用了 Gradle 的 `subprojects` 语法,对所有子项目进行了统一配置,并且定义了一个名为 `packageAll` 的任务,用于打包所有子项目的输出文件。执行 `gradle packageAll` 命令即可生成包含所有子项目输出文件的 zip 包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值