1、创建初始化Web项目
-
项目文件默认放在了/Volumes/NoNoOut/软件/school的里面
-
初始化Web项目运行如下
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项目
注意这里,要在/Volumes/NoNoOut/软件/school/添加项目名称school-common。如果有则不用管
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>
至此搞定,查看项目结构
删除多余文件,项目结构为。注意:::school.iml不能删除,不然就没有项目结构了。
关闭项目,重新打开,然后会提示 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
-
2
-
3
-
4 Apply,点击OK即可
-
5 导出jar包
-
6 第一次导出选择Build,第二次就是Rebuild
- 7 导出后,jar包一般在同目录下的out里面。
运行jar,可以重新指定启动端口
java -jar ./house-web.jar --server.port=9011