http://blog.sina.com.cn/s/blog_56b0cb2d01000a7r.html Eclipse,以及tomcat有几个问题.说明如下
1, 工程不编译的问题 . 有时候,项目会出现死活不编译的情况. 原因有如下几点
第一: 首先要在项目的属性里面查看 Java Build Path是否有错误提示. 如果这里给出了错误提示,那就肯定是编译的主要原因了.
第二: 项目引用的userlib(用户包)不存在. 因为CVS共享的项目. 项目的发起者在自己的本地建立了自己的lib包变量,而别的用户从cvs上下来后,由于本地没有相应的lib变量.所以系统不能正确的编译. 建议不用变量.以方便其他用户.
第三: 如果没有找到原因, 请直接使用project目录下的 Clean命令 , 此命令会清空所有的编译后的文件,并将重新编译所有的文件.
第四: 实在还是不行,就关闭eclipse,重新启动即可.
第五: 还不行,就找我.
2, eclipse的Version: 3.1.0 版本中, “ALT+/” 原来3.0版本中的帮助快捷键到了新版中变成了 Ctrl+space .跟我们的输入法冲突.
修改办法: 菜单 window ->perferecens->General ->key ->View 的页面 找到Cotent Assist 行,点击上面的modify . 到修改页面,将他的快捷键都删除. 然后在下面的 name中 使用退格键删除那个 ctrl – space . 然后按下 Alt + / . 然后从下面的 When中依次选择,然后依次ADD即可.
3, 控制使Eclipse使用指定的编辑器打开文件 .由于碰见陌生文件时,eclipse总是不能自动识别上次打开的方式. 设定方法为
window ->perferecens->General ->Editors 这个页面上面有几个 超级链接的 File Associations .点击他进行设置即可.
4, eclipse3.0 中. 在文件的属性中,修改文件的编码格式后. 系统不会重新以您指定的编码格式打开文件. 3.1中已经解决了这个bug. 而且3.1中的项目内搜索(选中项目,点击菜单中的search->search或者 Ctrl+H)也快了很多.用起来都比较方便.
5 ,关于文件格式.文件的打开编码格式由eclipse的总window ->perferecens->General ->Editors里面设定. 默认都将使用这个编码格式. 如果有特别的编码格式在文件属性里面单独设定即可.
6, 关于css文件没有起作用的问题. 如果页面的编码格式跟css的编码格式不一致了.css就会失效. 如果页面是Utf-8的格式,那么就必须保证Css的格式也为utf-8. javascript文件亦然
7, 关于javascript文件,里面必须保证没有非法的不可见字符.否则页面会报脚本错误. 脚本文件里面最好不要有中文注释,如果一定要有,最好在注释下面有两个回车,然后再写代码. 这样保证不会有问题.
8, jsp编译问题. 当你通过url去访问一个jsp的时候,tomcat要做的工作如下:
首先,检测有没有这个jsp
然后,检测 /app/jakarta-tomcat-5.5.9/work/Catalina/www.uland.com/_/org/apache/jsp 目录下有没有对应的这个jsp翻译完毕的java文件和class文件
然后,如果没有存在,则编译jsp文件到那个目录下.
如果已经存在,检测当前这个jsp的最后更新日期是否比已经存在的java文件新.
如果已经存在的java文件是新的,则系统放弃编译,直接读取java的类文件.
如果已经存在的java文件比当前的jsp文件要旧,则tomcat重新编译这个jsp.
如果编译成功,则用新的java文件,替换旧的java文件. 并显示出新的页面效果
如果编译失败,则前台会将错误的页面跟已经存在的页面交替1:3次显示. 其中显示1次错误页面,随后再访问3次都会显示已经存在的正确类文件. Tomcat这样做也有他的理由.保证系统给用户的效果.
问题: 当我们从我们本地将jsp文件拖放到远程服务器上时,如果出现了效果没有更新的情况. 一种方案就是清空work目录. 这样比较彻底,但每次都得清.再有就是看看远程的系统的日期是不是比我们当前使用的eclipse的系统的日期要早. 如果是,把那边得日期更新一下比我们的稍慢一点即可. 有时候页面提示的出错行数总是那个编译后java文件的行数,那么可以直接到那个java文件定位错误.非常方便.
9 , tomcat的server.xml中要注意的几个问题:
第一: <Connector port="80" redirectPort="8443" maxKeepAliveRequests="-1" minSpareThreads="1000" connectionTimeout="20000" maxSpareThreads="2000" acceptCount="5000" maxThreads="5000" maxHttpHeaderSize="8192" URIEncoding="GBK"/> 里面的URIEncoding="GBK" 直接控制url中的文件编码格式. Tomcat要根据这个参数对中的参数进行解码. 如果不写缺省使用的编码是 iso-8859-1 ,如果用utf8的最好.比较通用.
第二: <Context path="" docBase="." debug="0" crosscontext="true" allowLinking="true" reloadable="true"/> 里面的reloadable参数设置为true ,标识类如果有了改动,tomcat会自动重新启动这个站点. AllowLinking= allowLinking="true" 标识允许此应用使用linux的虚拟目录. 否则设置的虚拟目录不会生效.
10, eclipse快捷键 ctrl+q 非常有用 定位到最后编辑的位置.
11,补充:
eclipse编辑java文件时,如果里面的汉字为乱码,说明文件的格式不是gbk格式的。因为eclipse默认编辑文件使用这个格式。根据文件的格式,修改eclipse的打开文件格式。
windows-> perfrence->General->Editor. 修改这个页面上的 那个GBK -〉其他中的UTF-8即可