最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

若依前后端打成一個JAR包部署的完整步驟

 更新時間:2025年01月21日 08:48:02   作者:噫吁嚱!??!  
這篇文章主要介紹了如何將若依前后端分離項目打包成jar,不使用nginx轉發(fā),前端修改了路由模式和環(huán)境變量配置,后端增加了依賴、配置了Thymeleaf和訪問路徑,需要的朋友可以參考下

客戶需要將項目前后端作為一個整體打包成jar,不使用nginx方式轉發(fā)。使用框架是若依前后端分離,后端springboot,前端vue,目的就是把vue打入jar。

一、前端修改

  • ruoyi-ui/src/router/index.js文件 ,將 mode: ‘history’ 改成 mode: ‘hash’
    export default new Router({
      mode: 'hash', 
      scrollBehavior: () => ({ y: 0 }),
      routes: constantRoutes
    })
    

    2、修改ruoyi-ui/.env.production文件

    說明:VUE_APP_BASE_API = '/prod-api'是原來,我這前后端加了訪問路徑如VUE_APP_BASE_API = '/ReportApi'
    #VUE_APP_BASE_API = '/prod-api'
    VUE_APP_BASE_API = '/ReportApi'

    3、修改vue.config.js

二、后端修改

1、ruoyi-admin pom文件加入以下依賴

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2、增加配置文件  (dev和local可以都改),增加thymeleaf配置和訪問路徑配置

  #前后端打成一個JAR包配置
  thymeleaf:
    prefix: classpath:/dist/
    mode: HTML
    encoding: utf-8
    cache: false

3、修改ResourcesConfig文件內容,新增以下部分addViewControllers

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/index").setViewName("index.html");
        registry.addViewController("/").setViewName("index.html");
        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
    }

4、修改ResourcesConfig文件內容,替換addResourceHandlers內容如下:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    /** 本地文件上傳路徑 */
    registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**").addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
    /** 頁面靜態(tài)化 */
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/dist/static/");
    /** swagger配置 */
    registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

5、根據情況配置訪問權限修改ruoyi-framework項目中的SecurityConfig.java類,配置靜態(tài)資源訪問權限

@Override
    protected void configure(HttpSecurity httpSecurity) throws Exception
    {
        // 注解標記允許匿名訪問的url
        ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry = httpSecurity.authorizeRequests();
        permitAllUrl.getUrls().forEach(url -> registry.antMatchers(url).permitAll());

        httpSecurity
                // CSRF禁用,因為不使用session
                .csrf().disable()
                // 禁用HTTP響應標頭
                .headers().cacheControl().disable().and()
                // 認證失敗處理類
                .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
                // 基于token,所以不需要session
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                // 過濾請求
                .authorizeRequests()
                // 對于登錄login 注冊register 驗證碼captchaImage 允許匿名訪問
                .antMatchers("/login", "/register", "/captchaImage").permitAll()
                // 靜態(tài)資源,可匿名訪問
                .antMatchers(HttpMethod.GET, "/**/**","/**","/index","/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                .antMatchers("/test/**","/aicccms/**","/ICD/**").permitAll()
                // 除上面外的所有請求全部需要鑒權認證
                .anyRequest().authenticated()
                .and()
                .headers().frameOptions().disable();
        // 添加Logout filter
        httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler);
        // 添加JWT filter
        httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
        // 添加CORS filter
        httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class);
        httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
    }

6、將前端dist移動到resources目錄下

總結 

到此這篇關于若依前后端打成一個JAR包部署的文章就介紹到這了,更多相關若依前后端打JAR包部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JAVA?OOM內存溢出問題深入解析

    JAVA?OOM內存溢出問題深入解析

    這篇文章主要為大家介紹了JAVA?OOM內存溢出問題深入解析,在生產環(huán)境搶修中,我們經常會碰到應用系統(tǒng)java內存OOM的情況,這個問題非常常見,今天我們就這個問題來深入學習探討一下
    2023-10-10
  • Java系統(tǒng)運行緩慢等問題的排查思路

    Java系統(tǒng)運行緩慢等問題的排查思路

    這篇文章主要介紹了Java系統(tǒng)運行緩慢等問題的排查思路,讀者可以根據具體情況具體分析,從而解決問題
    2021-04-04
  • 解決spring cloud服務啟動之后回到命令行會自動掛掉問題

    解決spring cloud服務啟動之后回到命令行會自動掛掉問題

    這篇文章主要介紹了解決spring cloud服務啟動之后回到命令行會自動掛掉問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • IDEA導出jar打包成exe應用程序的小結

    IDEA導出jar打包成exe應用程序的小結

    這篇文章主要介紹了IDEA導出jar打包成exe應用程序,需要的朋友可以參考下
    2020-08-08
  • Java 讀寫鎖源碼分析

    Java 讀寫鎖源碼分析

    這篇文章主要介紹了Java 讀寫鎖的相關資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • Springboot項目集成SkyWalking鏈路追蹤系統(tǒng)實戰(zhàn)指南

    Springboot項目集成SkyWalking鏈路追蹤系統(tǒng)實戰(zhàn)指南

    本文詳解SpringBoot集成SkyWalking鏈路追蹤的步驟,涵蓋Agent部署、配置參數設置(含服務名、后端地址、認證token)、多啟動方式及日志對接方法,但未充分說明環(huán)境變量配置細節(jié)和gRPC認證參數的使用場景,需要的朋友跟隨小編一起看看吧
    2025-08-08
  • SpringBoot項目啟動時增加自定義Banner的簡單方法

    SpringBoot項目啟動時增加自定義Banner的簡單方法

    最近看到springboot可以自定義啟動時的banner,然后自己試了一下,下面這篇文章主要給大家介紹了SpringBoot項目啟動時增加自定義Banner的簡單方法,需要的朋友可以參考下
    2022-01-01
  • java實現ReadWriteLock讀寫鎖的示例

    java實現ReadWriteLock讀寫鎖的示例

    ReadWriteLock是Java并發(fā)包中的接口,定義了讀鎖和寫鎖,讀鎖允許多線程同時訪問共享資源,而寫鎖則要求獨占,這種機制適用于讀多寫少的場景,可以提高并發(fā)效率同時保證數據一致性,本文就來詳細的介紹一下如何實現,感興趣的可以了解一下
    2024-09-09
  • SpringBoot 分布式驗證碼登錄方案示例詳解

    SpringBoot 分布式驗證碼登錄方案示例詳解

    為了防止驗證系統(tǒng)被暴力破解,很多系統(tǒng)都增加了驗證碼效驗,比較常見的就是圖片二維碼,業(yè)內比較安全的是短信驗證碼,當然還有一些拼圖驗證碼,加入人工智能的二維碼等等,我們今天的主題就是前后端分離的圖片二維碼登錄方案,感興趣的朋友一起看看吧
    2023-10-10
  • InterProcessMutex實現zookeeper分布式鎖原理

    InterProcessMutex實現zookeeper分布式鎖原理

    本文主要介紹了InterProcessMutex實現zookeeper分布式鎖原理,文中根據實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

松阳县| 淄博市| 农安县| 台北县| 怀远县| 固阳县| 卢湾区| 伊宁县| 贵南县| 永仁县| 景宁| 饶河县| 通辽市| 花垣县| 惠州市| 嘉荫县| 攀枝花市| 仪陇县| 延庆县| 阜南县| 韶山市| 德令哈市| 淮安市| 澄江县| 新宁县| 仙居县| 南皮县| 淮安市| 唐山市| 宿州市| 寻甸| 霍邱县| 常山县| 平定县| 车致| 延川县| 高阳县| 北川| 吴旗县| 烟台市| 文昌市|