`

mvn jetty:run无法修改js css文件问题的解决

    博客分类:
  • java
阅读更多
使用mvn jetty:run web开发时,经常会遇到无法修改js文件问题,一修改就会报错:

Could not write file:index.css.
index.css (请求的操作无法在使用用户映射区域打开的文件上执行。)







Cannot save index.css.
The file was renamed to index.css___jb_old___.
Your changes were written to index.css___jb_bak___.
can not save files
following errors occurred on attempt to save files


参考文档
jetty 默认开启了 useFileMappedBuffer,在 jetty 运行期间,页面所使用的静态文件(如 css 文件等)不允许修改。如果你尝试去修改它
们,保存的时候就会出现 Save could not be completed.

解决办法:
1、修改jar包
2、修改启动参数


对于第一种方法,修攺jar包的方式,参考文档里写的

对于第二种方法,修改启动参数的方式,更加灵活,有多种修改法
目前使用的是,在maven仓库里找到使用的jetty.jar,比如现在用的插件是
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.3.0.M2</version>

对应的jar包是
repositories\org\eclipse\jetty\jetty-webapp\9.3.0.M2\jetty-webapp-9.3.0.M2.jar

解压出webdefault.xml,将useFileMappedBuffer改为false,文件另存为jettyCustom.xml
//jettyCustom.xml
    <init-param>
      <param-name>useFileMappedBuffer</param-name>
      <param-value>false</param-value>
    </init-param>


将该文件与pom.xml文件放在同一目录,修改maven配置,在所有的web上加

<defaultsDescriptor>jettyCustom.xml</defaultsDescriptor>

<!-- jetty 插件 -->
			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.3.0.M2</version>
				<configuration>
					<webAppConfig>
						<contextPath>/</contextPath>
//对当前web配置	jettyCustom.xml				<defaultsDescriptor>jettyCustom.xml</defaultsDescriptor>
					</webAppConfig>
					<scanIntervalSeconds>0</scanIntervalSeconds>
					<httpConnector>
                       <port>8080</port>
                   </httpConnector>

//加载多个web,每个web都需要配置jettyCustom.xml
                   <contextHandlers>
				      <contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
							<resourceBase>E:\\workspace\\myweb\\webroot</resourceBase>
				        <contextPath>/myweb</contextPath>
		        <defaultsDescriptor>jettyCustom.xml</defaultsDescriptor>
				      </contextHandler>
			    </contextHandlers>

				</configuration>
			</plugin>



再次启动后,js和css就没有缓存了
分享到:
评论

相关推荐

    Maven Jetty 插件的问题(css/js等目录死锁)的解决

    然而,在使用Maven Jetty插件进行项目构建和部署时,可能会遇到一个常见问题:当修改了HTML、CSS或JavaScript文件后,这些文件被浏览器加载后会出现“死锁”现象,导致文件无法被进一步修改和保存。 #### 问题分析 ...

    Maven下使用Jetty进行Debug

    当我们在Eclipse中修改HTML、CSS或JavaScript文件后,由于Jetty的热部署特性,这些修改通常会自动反映到正在运行的应用中,无需手动重启服务器。 **3.2 修改类方法后自动生效** 对于Java源代码的修改,如果涉及到...

    maven jetty

    mvn jetty:run ``` 这将在指定的端口(默认为8080)上启动Jetty,并加载项目中的Web应用程序。 ** 热部署与自动刷新 ** Maven Jetty插件的一大优势是支持热部署,即在代码修改后,无需重启服务器即可看到改动的...

    skladGre:营地仓库管理应用

    斯克拉德格雷 营地仓库管理应用程序...仍在开发中。 技术:Spring、Spring Web MVC、JSP、JSTL、HTML5、CSS3、3层架构、Maven、Hibernate、... 启动应用程序: mvn jetty: run (或: clean package jetty: run) ... at

    Eclipse Maven项目中配置Jetty

    mvn jetty:run ``` 这将会编译项目,启动Jetty服务器,并将你的应用部署到服务器上。你可以在浏览器中输入`http://localhost:8080/your-context-path`来访问你的应用。 如果项目名为`jettyDemo`,那么这个项目可能...

    maven+jetty +ssh 项目例子

    - `src/main/resources`:资源文件夹,可能有配置文件(如Spring的bean配置、Jetty的配置)、静态文件(HTML、CSS、JavaScript)等。 - `src/main/webapp/WEB-INF`:Web应用的配置文件,如`web.xml`,可能还有Spring...

    dwr+maven+jetty

    - 使用Maven的命令行工具(如`mvn jetty:run`)启动Jetty服务器并运行应用。 文件列表中的`pom.xml`是Maven项目的配置文件,包含了项目的信息和依赖项。`src`目录则包含源代码,如Java类、HTML、CSS和JavaScript...

    Jfinalplugin,angularjfinal-angular-icedog.zip

    一个Jfinal angular的框架实现,属于jfinal-dreampie的一个demo,在线访问:... 可直接使用mvn jetty:run 使用嵌入式数据库h2,数据库可以自动验证生成初始化数据 图片: 标签:jfinal

    Maven与Jetty

    mvn jetty:run ``` 这将在默认的8080端口上启动Jetty服务器,并加载你的Web应用程序。如果你的项目结构遵循Maven标准,那么Web应用程序的入口点通常是`src/main/webapp`目录下的`WEB-INF/web.xml`文件。 在描述中...

    maven +jetty 配置web工程

    mvn jetty:run ``` 这会自动编译项目,然后通过Jetty容器运行Web应用。如果需要在每次代码更改后自动重新加载,可以使用`-Djetty.scanIntervalSeconds=5`参数,使得扫描间隔为5秒。 `Jetty`是一个轻量级的Servlet...

    jfinalpluginsdreampie-jfinal.zip

    可直接使用mvn jetty:run 使用嵌入式数据库h2,数据库可以自动验证生成初始化数据 使用方式:1.导入IDEA,VCS-&gt;Checkout from Version Control-&gt;Github(如果没有在plugin里下载或启用) 然后输入项目地址 ...

    vaadin-maven-gae:使用Maven部署vaadin到gae的模板

    myhpSystem 这是将Vaadin with maven项目部署到GAE的模板。工作流程MVN清洁mvn包mvn jetty:run mvn appengine:devserver mvn appengine:更新笔记GAE部署

    activiti-monitoring:Activiti 的技术监控

    要运行 web gui,只需键入: mvn jetty:run Web part can be access at http://localhost:8080/login 用户根据 activiti 中的act-id-user表进行检查。 restoreUsers.sql脚本创建测试用户。 出于测试目的, src/...

    wftest:Williams Forrest的代码测试

    要运行,请在webapp文件夹中运行“ mvn jetty:run” 要访问表单页面: 要测试REST控制器的列出方法: 姓氏} (默认为升序) 我在邮件列表表单中使用了jQuery和一些CSS。 注意:指定的要求“当用户提交此数据时,将...

    qwait:KTH CSC的排队系统

    输入qwait目录,然后键入mvn jetty:run以测试该应用程序。 您可以在http://localhost:8080/ 。 请注意,除非您已正确配置LDAP,否则登录的用户将具有不太可读的名称,因为用户的真实姓名是通过LDAP查询获取的。 ...

    整合ssm,适合新人练习使用

    8. **运行与测试**:使用Maven的`mvn tomcat7:run`或`mvn jetty:run`命令可以将项目部署到本地服务器上,然后通过浏览器访问指定URL进行测试。通过日志查看器可以跟踪和调试应用的运行状态。 通过这个项目,新人...

    material-theme-fw8:Vaadin Framework 8的材料设计主题

    这样,您只需在IDE中修改scss文件并重新加载浏览器即可查看更改。 要使用运行时编译,请打开pom.xml并从vaadin-maven-plugin配置中注释掉compile-theme目标。 要删除可能存在的预编译主题,请运行一次“ mvn clean ...

    spring-webflow-samples

    `mvn jetty:run`启动一个Jetty服务器,`mvn package`则打包项目为war文件。 3. **Jetty**:轻量级的HTTP服务器和Servlet容器,常用于开发和测试环境,因为它快速且易于集成。 4. **CSS**:用于控制网页样式的语言...

    java开发斗地主源码-LandManager:房东的小型网站以简化会计(2013)

    gwt:run -P hsqldb 网址: 项目将使用 GWT 开发模式工具(servlet 容器:Jetty)和 hsqldb 启动。 使用一个预配置的用户 admin/admin。 在 GWT 调试模式下启动(对于 Eclipse) 执行:mvn gwt:debug -P hsqldb 或...

Global site tag (gtag.js) - Google Analytics