2018-07-12 springboot maven 打包jsp進入jar

spring boot 通過maven打包jsp到jar包中運行
使用過spring boot 的人應該都知道,官方其實并不太推薦使用jsp作為頁面,而是推薦使用模板(freemarker、velocity等)作為頁面展示。

但是作為開發(fā)來說,很多時候大家還是習慣使用JSP作為頁面(畢竟JSP在java開發(fā)中已經風靡多年),所以如果你在使用springboot時想使用JSP作為web頁面,并且需要打包成jar運行,那么你可能就需要額外的去配置打包路徑了。因為jsp默認是在webapp目錄下,可是打包成jar是沒有webapp這個目錄結構的。先看一下web項目的目錄結構:

2
下面通過spring boot 提供的spring-boot-maven-plugin插件將項目打包成jar包,通過resources去配置jsp的打包路徑即可。打包成功后,項目JSP頁面都會copy到META-INF目錄,這時就OK了。

POM.XML

<?xml version="1.0"?>  
<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"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
  <modelVersion>4.0.0</modelVersion>  
  <parent>  
    <groupId>com.security</groupId>  
    <artifactId>security</artifactId>  
    <version>0.0.1-SNAPSHOT</version>  
  </parent>  
  <artifactId>security-cas</artifactId>  
  <packaging>jar</packaging>  
  <dependencies>  

  </dependencies>  
  <build>  
        <plugins>  
            <plugin>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-maven-plugin</artifactId>  
                <executions>  
                    <execution>  
                        <goals>  
                            <goal>repackage</goal>  
                        </goals>  
                    </execution>  
                </executions>  
            </plugin>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-war-plugin</artifactId>  
                <configuration>  
                    <failOnMissingWebXml>false</failOnMissingWebXml>  
                </configuration>  
            </plugin>  
        </plugins>  
        <resources>  
            <!-- 打包時將jsp文件拷貝到META-INF目錄下-->  
            <resource>  
                <!-- 指定resources插件處理哪個目錄下的資源文件 -->  
                <directory>src/main/webapp</directory>  
                <!--注意此次必須要放在此目錄下才能被訪問到-->  
                <targetPath>META-INF/resources</targetPath>  
                <includes>  
                    <include>**/**</include>  
                </includes>  
            </resource>  
            <resource>  
                <directory>src/main/resources</directory>  
                <includes>  
                    <include>**/**</include>  
                </includes>  
                <filtering>false</filtering>  
            </resource>  
        </resources>  
    </build>  
    <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>  
</project>  

jar目錄結構:

打包完成后就可以通過java -jar package命令運行應用了。

java -jar package.jar
java -jar package.war
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,599評論 19 139
  • 入門 介紹 Spring Boot Spring Boot 使您可以輕松地創(chuàng)建獨立的、生產級的基于 Spring ...
    Hsinwong閱讀 17,096評論 2 89
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,943評論 1 92
  • 在計算機系統(tǒng)中,運行的應用程序的數(shù)據都是保存在內存中的,不同類型的數(shù)據,保存的內存區(qū)域不同。 一、內存分區(qū) 1.棧...
    紙簡書生閱讀 3,042評論 0 11

友情鏈接更多精彩內容