目录
基本概念
代码与实例
基本概念
目前发现很多Java项目都是直接使用Maven作项目管理,在Maven中配置依赖,比如Spring boot完成操作,在经历了这么多操作后,还发现大家喜欢把Maven项目打包为war包,在此记录下,Maven创建spring boot项目,打包为war包!
代码与实例
程序结构如下:
这里最关键的就是porn.xml这个文件,打包成war包的地方:
填写spring boot的入口类:
还要添加一个依赖管理:
随后就是两大类,一个是依赖,一个是构建,构建里面要有插件:
<!--构建的时候要使用--><build><finalName>JSPDemo</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.4</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build>
这里要注意设置这个:
不然会报如下错误:
下面是tomcat的设置:
这里把war包导进去:
这里war包是这样产生的!
写一个测试,看看能不能成功:
断点如下:
程序结构如下:
源码如下:
Test.java
package com.jsp.server.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class Test {@GetMapping("/Test")public String test(){return "Hello World!";}}
MainApplication.java
package com.jsp.server;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.support.SpringBootServletInitializer;@SpringBootApplicationpublic class MainApplication extends SpringBootServletInitializer {public static void main(String[] args){SpringApplication.run(MainApplication.class, args);}}
application.properties
spring.mvc.view.prefix=/WEB-INF/views
porn.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>JSPDemo</groupId><artifactId>JSPDemo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><start-class>com.jsp.server.MainApplication</start-class><spring-boot.version>1.5.7.RELEASE</spring-boot.version><spring-session.version>1.2.0RELEASE</spring-session.version></properties><!--依赖管理--><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring-boot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency></dependencies><!--构建的时候要使用--><build><finalName>JSPDemo</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.4</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build></project>