一、打成war包(修改pom.xml文件)
二、在pom.xml中添加依賴,排除內置的tomcat容器(兩種方式都行)
第一種
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
第二種
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的時候可以不用包進去,別的設施會提供。事實上該依賴理論上可以參與編譯,測試,運行等周期。
相當於compile,但是打包階段做了exclude操作-->
<scope>provided</scope>
</dependency>
三、修改啟動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
@SpringBootApplication @MapperScan("cn.xej.mapper") // 配置一個或多個包路徑,自動的掃描這些包路徑下的類,自動的為它們生成代理類。 public class SpringbootShiroApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(SpringbootShiroApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(SpringbootShiroApplication.class); } }
四、使用外部的tomcat部署項目,會導致配置文件的 port 和 servlet.context-path 失效
為了防止應用上下文所導致的項目訪問資源加載不到的問題,在pom.xml文件的<build></build>中添加<finalName></finalName>標簽
<build>
// 設置了war打包的名字 <finalName>shiro</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
五、war包打包方式(2種)
第一種(使用idea) 在Maven中 點擊 package,在左邊目錄會生成target文件里面包含war包,將war包復制到自己的 tomcat webapps目錄下,啟 動 tomcat即可
第二種 在idea 的 Terminal命令界面,打 mvn clean package,同理上面target文件夾
六、打成jar包(修改pom.xml文件),以及刪掉之前添加war包的依賴,啟動類也不用繼承SpringBootServletInitializer類實現 Configure方法
七、點擊 install,會在左邊目錄產生target文件夾 里面包含 jar 包
八、將 jar 包復制到 tomcat webapps 目錄下,cmd 窗口到webapps 目錄,使用 java -jar jar包名稱 .jar
出現以下結果,即 jar 包 部署成功
頁面訪問