美文网首页
Springboot多Module使用

Springboot多Module使用

作者: CoderLJW | 来源:发表于2019-06-27 10:57 被阅读0次

    1、创建初始化Web项目

    • 项目文件默认放在了/Volumes/NoNoOut/软件/school的里面


      image.png
    • 初始化Web项目运行如下


      image.png

    2、在此项目基础上,创建继承school(父类)的多Module项目。

    • 1、去除父类插件和其他不是公有的jar包的依赖,这个事例去除spring-boot-maven-plugin
        <!--<build>-->
            <!--<plugins>-->
                <!--<plugin>-->
                    <!--<groupId>org.springframework.boot</groupId>-->
                    <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
                <!--</plugin>-->
            <!--</plugins>-->
        <!--</build>-->
    
    • 2、修改父类信息
      原来是
        <groupId>com.ljw.project</groupId>
        <artifactId>school</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>school</name>
        <description>Demo project for Spring Boot</description>
    

    修改为

        <groupId>com.ljw.project</groupId>
        <artifactId>school-parent</artifactId> // 修改
        <version>0.0.1-SNAPSHOT</version>
        <name>school-parent</name>
        <packaging>pom</packaging> // 添加
        <description>Demo project for Spring Boot</description>
    

    到这里搞定父类

    3、添加module是school-common。选中项目new--Module

    • 1、新建school-common项目


      image.png
      image.png
      image.png

      注意这里,要在/Volumes/NoNoOut/软件/school/添加项目名称school-common。如果有则不用管


      image.png
    • 2、修改school-common配置

    • 修改父类为

        <parent>
            <groupId>com.ljw.project</groupId>
            <artifactId>school-parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
    
    • 在父类种添加
        <modules>
            <module>school-common</module>
        </modules>
    
    • 3、创建school-web项目,父类是school-parent,并且依赖school-common。像平常一样创建项目,然后在pom.xml中修改需要父类和依赖信息
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>com.ljw.project</groupId>
            <artifactId>school-parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
    
        <groupId>com.ljw.project.web</groupId>
        <artifactId>school-web</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>school-web</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-freemarker</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.ljw.project.common</groupId>
                <artifactId>school-common</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    • 在school-parent添加module
        <modules>
            <module>school-common</module>
            <module>school-web</module>
        </modules>
    

    至此搞定,查看项目结构


    image.png

    删除多余文件,项目结构为。注意:::school.iml不能删除,不然就没有项目结构了。


    image.png

    关闭项目,重新打开,然后会提示 as maven project点击后,就可以运行了。
    注意如果出现这个错误

    无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException
    

    需要添加依赖(用于email发送的,没有用到就不会有这个错误)

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>
    
    • 使用web项目的时候,会出现包扫描的问题
      这个时候添加在web项目里面需要修改为
    @SpringBootApplication(scanBasePackages = "com.ljw.project")
    public class SchoolWebApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SchoolWebApplication.class, args);
        }
    
    }
    

    注意::::
    所有的项目配置,还是在school-web中配置的,其他的module里面的SchoolBizApplication和application.properties都可以删除,不删除也行

    3、导出Jar包来运行

    • 1


      image.png
    • 2


      image.png
    • 3


      image.png
    • 4 Apply,点击OK即可


      image.png
    • 5 导出jar包


      image.png
    • 6 第一次导出选择Build,第二次就是Rebuild


      image.png
    • 7 导出后,jar包一般在同目录下的out里面。
      运行jar,可以重新指定启动端口
    java -jar ./house-web.jar --server.port=9011
    

    相关文章

      网友评论

          本文标题:Springboot多Module使用

          本文链接:https://www.haomeiwen.com/subject/hyclcctx.html