1. 程式人生 > >解決啟動jetty後,不能修改js檔案的問題

解決啟動jetty後,不能修改js檔案的問題

禁止 Jetty 使用對映快取:

當Jetty伺服器正處於啟動中時,如果想試圖去修改正在被訪問的資原始檔,例如JS,這時候你修改完成想儲存的時候,是儲存不了的。
你必須停掉 Jetty 容器,才能儲存。儲存完成後必須重新啟動 Jetty 容器才能看見效果。這樣做對修改 .js檔案非常麻煩和不爽。

究其原因,這是 Jetty 使用了記憶體對映檔案來快取靜態檔案。在Windows下面,使用記憶體對映檔案會導致檔案被鎖定。
解決方案是不使用記憶體對映檔案來做快取。步驟如下:

根據所使用 Jetty 版本在本地的 maven 倉庫中找到 Jetty 版本對應的jar包。

如:

    <plugins
>
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.10</version> </plugin> </plugins>

則需找到( 我的本地的 maven 倉庫是在 D:\Repositories\Maven ):
D:\Repositories\Maven\org\mortbay\jetty\jetty\6.1.10\jetty-6.1.10.jar

用解壓縮工具開啟此jar包,進到:
jetty-6.1.10.jar\org\mortbay\jetty\webapp
找到webdefault.xml檔案,即: jetty-6.1.10.jar\org\mortbay\jetty\webapp\webdefault.xml
解壓出此檔案webdefault.xml,找到:
useFileMappedBuffer
true

將 true 改成 false,以禁止使用對映快取。

刪除原jar包中的webdefault.xml檔案,將修改過的webdefault.xml檔案壓縮排去,OK。搞定。

這樣之後就能在 Jetty 執行時修改並儲存資原始檔。

相關推薦

解決啟動jetty不能修改js檔案的問題

禁止 Jetty 使用對映快取: 當Jetty伺服器正處於啟動中時,如果想試圖去修改正在被訪問的資原始檔,例如JS,這時候你修改完成想儲存的時候,是儲存不了的。 你必須停掉 Jetty 容器,才能儲存。儲存完成後必須重新啟動 Jetty 容器才能看見效果。這

idea jetty外掛啟動服務修改程式碼報“請求的操作無法在使用使用者對映區域開啟的檔案執行”

從ECLIPSE轉到idea進行開發,使用JETTY執行專案後,發現報如上錯誤: 我是採用jetty容器進行開發的,沒有使用maven-jtty外掛執行專案。 解決辦法,找到jetty安裝目錄:比如我的是:D:\jetty-distribution-8.1.21.v2016

Jetty啟動時不能修改 js等靜態檔案解決

Jetty啟動後,如果修改javascript檔案,將不能儲存,使除錯很麻煩。這是因為使用了CACHE,JETTY說是WINDOWS下的一個限制。可以通過如下方法修正: 解壓出jetty.jar中的org/mortba

idea使用jetty啟動專案無法修改JS檔案

使用mvn jetty:run web開發時,經常會遇到無法修改js檔案問題,一修改就會報錯: 詳細介紹參考:參考文件 jetty 預設開啟了 useFileMappedBuffer,在 jetty 執行期間,頁面所使用的靜態檔案(如 css 檔案等)不允許修改。如果你嘗試去修改它 們,儲存

NodeJs中的http-server的使用--解決chrome瀏覽器執行html和js檔案的時候無法呼叫本地的檔案

  一、環境:已經安裝了nodeJS。 二、安裝http-server:    開啟cmd --》 輸入  npm install http-server -g  注意:需要-g ,否則會出現錯誤,並且點選執行start.bat的時候

安裝版JDK修改環境變數也無法生效的原因和解決辦法

現象: 安裝過安裝版的JDK,一般是1.7以上,修改環境變數並不能生效,比如原本安裝了1.8,後修改環境變數為1.7,java -version仍顯示1.7 原因:   當使用安裝版本的JDK程式時(一般是1.7版本以上),在安裝結束後安裝程式會自動將java.exe、java

Kali(Ubuntu)啟動 WPS 出現提示系統缺失字型 解決辦法

注:轉自:http://www.cnblogs.com/liangml/p/5969404.html 啟動WPS for Linux後,出現提示"系統缺失字型" 。 出現提示的原因是因為WPS for Linux沒有自帶windows的字型,只要在Linux系統中載入字型即可。 具體操作

檔案屬性改不了(解決完病毒屬性中的隱藏灰色選不了)

開始---執行裡輸入--- CMD, 在彈出的命令提示符內輸入: attrib -r -h 路徑(你要修改的檔案或資料夾) 例如:你要修改的D:\a attrib -r -h D:\a 如果修改所有檔案可以 attrib -r -h D:\*

阿里雲伺服器上安裝完成並啟動Tomcat通過http不能訪問--解決辦法

在阿里雲伺服器上安裝完成並啟動Tomcat後,通過http不能訪問的原因是阿里雲平臺為了安全設定了安全組策略,必須我們授權的埠,其他計算機才能通過http訪問 解決辦法:(這裡以阿里輕量應用伺服器

intellij idea開發環境下使用jetty跑專案修改js、jsp檔案提示Cannot Save Files 問題

問題描述如題,試了好久終於找到解決辦法,記錄下來與大家分享:1、首先進入你的maven倉庫找到jetty的位置,我的位置在:C:\Users\ccpit\.m2\repository\org\mortbay(供大家參考)2、進入jetty目錄,找到你的jetty引用jar包,

解決更新Windows10滑鼠右鍵點選檔案卡死

自己的電腦自更新Windows10後,就出現了這個問題,然後就百度如何解決。方法就是把自己系統上自帶的foxit PDF解除安裝掉就行了,我是直接把C:\Program Files (x86)(可能位置有不一樣)下的foxit PDF資料夾直接刪了,問題就解決了,我猜可能是軟

"無法啟動應用程式工作組資訊檔案丟失或是已被其他使用者已獨佔方式開啟"在VC中解決辦法

    若是access資料庫有密碼保護,使用下面的連線字串會報一個“無法啟動應用程式,工作組資訊檔案丟失,或是已被其他使用者已獨佔方式開啟”的錯誤,Provider=Microsoft.Jet.OLE

linux網線不識別問題解決。上網共享修改分辨率

系統 efault 32位 線上 bsp lin inux date 一個 以下事情均發生在神舟天運f233r 上 版本 ubutun 14.04 12.04 今天給我的很老的筆記本裝上ubutun14.04的32位,發現真的很慢啊,果斷換回12.04出現網上插上以後不識

【Java】移動JDK路徑修改環境變量不生效 Error: could not open `C:Program FilesJavajre1.8.0_131libamd64jvm.cfg'

技術 alt OS log 修改環境變量 post home http hid 場景: JDK原先裝在C盤的,現在移動到了D盤,並在環境變量修改了%JAVA_HOME%的新路徑,但是CMD中輸入java後依然報錯。 Error: could not open `C:\Pro

JPA查詢資料修改其中的某個值導致資料庫的值也修改了(JPA的生命週期)

問題描述 在一個迴圈中,通過JPA進行查詢後,修改查詢後的值,導致資料庫的值修改了 for (Integer integer : condition.getResourceIds()) { List<Integer> te

啟動hbase出現ERROR [[em

2018-11-07 09:28:54,771 INFO [master:16000.activeMasterManager] util.FSUtils: Waiting for dfs to exit safe mode... 2018-11-07 09:29:04,783 INFO [mas

electron-vue應用build開啟exe檔案安裝成功開啟應用報錯

 問題描述:      2.解決方法: import {app, BrowserWindow, Menu, ipcMain, Tray,nativeImage} from 'electron' const path =

Flask小專案程式碼!避免跨站設計路由登入jenkins修改伺服器檔案

import os import subprocess import re from flask import Flask, render_template, request, jsonify app = Flask(__name__) @app.route('/') @app.route('/

vuecli開發專案檔案打包appjs/vendorjs檔案過大

專案上線後,瀏覽器第一次載入會特別特別慢,network中看到vendorjs檔案1.9M,不慢才怪。 echarts按需引入後,也有1.1M左右,由於對vue腳手架理解不深,自己扒了大量的文件,又測 試了很多次,才測試成功,暫時簡單記錄下。 npm run build --report 可

解決啟用 codemirrorjquery獲取不到textarea 的值

例子 <textarea id="config" name="config" class="form-control"></textarea> window.editor_two = CodeMirror.fromTextArea(document.getElementByI