spring boot 支持jar包运行jsp

一.引言

       Spring Boot是由Pivotal团 队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板 化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid applicationdevelopment)成为领导者。

二.特点:

    Spring Boot开发我们可以享有自动配置、快速构建项目、快速集成新 技术的能力。在实际应用开发者需尽量使用Spring 4.x提倡的Java配置,然后我们只要认知Spring Boot是用Spring框架开发出来的技术,Spring Boot只是使用了Spring的新特性实现了自动配置的能力,也就是说在Spring下能做的事情,Spring Boot也能做。

三.spring boot 通过maven打包jsp到jar包中运行

使用过spring boot 的人应该都知道,官方其实并不太推荐使用jsp作为页面,而是推荐使用模板(freemarker、velocity等)作为页面展示。

    但是作为开发来说,很多时候大家还是习惯使用JSP作为页面(毕竟JSP在java开发中已经风靡多年),所以如果你在使用springboot时想使用 JSP作为web页面,并且需要打包成jar运行,那么你可能就需要额外的去配置打包路径了。因为jsp默认是在webapp目录下,可是打包成jar是 没有webapp这个目录结构的。先看一下web项目的目录结构:

下面通过spring boot 提供的spring-boot-maven-plugin插件将项目打包成jar包,通过resources去配置jsp的打包路径即可。打包成功后,项目JSP页面都会copy到META-INF目录,这时就OK了。

[html] view plain copy
  1. <?xml version="1.0"?>  
  2. <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
  4.   <modelVersion>4.0.0</modelVersion>  
  5.   <parent>  
  6.     <groupId>com.security</groupId>  
  7.     <artifactId>security</artifactId>  
  8.     <version>0.0.1-SNAPSHOT</version>  
  9.   </parent>  
  10.   <artifactId>security-cas</artifactId>  
  11.   <packaging>jar</packaging>  
  12.   <dependencies>  
  13.       
  14.   </dependencies>  
  15.   <build>  
  16.         <plugins>  
  17.             <plugin>  
  18.                 <groupId>org.springframework.boot</groupId>  
  19.                 <artifactId>spring-boot-maven-plugin</artifactId>  
  20.                 <executions>  
  21.                     <execution>  
  22.                         <goals>  
  23.                             <goal>repackage</goal>  
  24.                         </goals>  
  25.                     </execution>  
  26.                 </executions>  
  27.             </plugin>  
  28.             <plugin>  
  29.                 <groupId>org.apache.maven.plugins</groupId>  
  30.                 <artifactId>maven-war-plugin</artifactId>  
  31.                 <configuration>  
  32.                     <failOnMissingWebXml>false</failOnMissingWebXml>  
  33.                 </configuration>  
  34.             </plugin>  
  35.         </plugins>  
  36.         <resources>  
  37.             <!-- 打包时将jsp文件拷贝到META-INF目录下-->  
  38.             <resource>  
  39.                 <!-- 指定resources插件处理哪个目录下的资源文件 -->  
  40.                 <directory>src/main/webapp</directory>  
  41.                 <!--注意此次必须要放在此目录下才能被访问到-->  
  42.                 <targetPath>META-INF/resources</targetPath>  
  43.                 <includes>  
  44.                     <include>**/**</include>  
  45.                 </includes>  
  46.             </resource>  
  47.             <resource>  
  48.                 <directory>src/main/resources</directory>  
  49.                 <includes>  
  50.                     <include>**/**</include>  
  51.                 </includes>  
  52.                 <filtering>false</filtering>  
  53.             </resource>  
  54.         </resources>  
  55.     </build>  
  56.     <dependencyManagement>  
  57.         <dependencies>  
  58.             <dependency>  
  59.                 <groupId>org.springframework.boot</groupId>  
  60.                 <artifactId>spring-boot-dependencies</artifactId>  
  61.                 <version>${spring-boot.version}</version>  
  62.                 <type>pom</type>  
  63.                 <scope>import</scope>  
  64.             </dependency>  
  65.         </dependencies>  
  66.     </dependencyManagement>  
  67. </project>  


jar目录结构:

打包完成后就可以通过java -jar package命令运行应用了。

 
1
0
 
 

猜你喜欢

转载自18519721986.iteye.com/blog/2321912