今天用IDEA修改公司项目的代码,发现修改后的不能保存。猜测可能是,后台文件中可能有限制了权限。于是百度了一下解决方法。
解决方法:
只需要改动一个jetty的配制文件即可,方法是:
在jetty的jar包中找到org/mortbay/jetty/webapp/webdefault.xml,搜索useFileMappedBuffer:
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>true</param-value> <!-- change to false -->
</init-param>
将param-value从true改为false即可。可以直接修改jar包内的这个文件,但是修改发行包毕竟不好,可以将此文件复制一份,在启动Jetty时用自己的这个webdefault.xml覆盖Jetty的设置即可。加上:
WebAppContext webapp = new WebAppContext();
webapp.setDefaultsDescriptor( "./webdefault.xml" );
也可以,在往git上push代码的时候,不用提交webdefault.xml文件。