MyEclipse相关用法介绍

时间:2023-03-09 17:32:39
MyEclipse相关用法介绍

MyEclipse相关用法介绍

================================================================================

编辑:

Ctrl+Shift+L      显示所有快捷键

Ctrl+K        参照选中的词(Word)快速定位到下一个

Ctrl+Shift+K      参照选中的词(Word)快速定位到上一个

Ctrl+O         快速显示OutLine

Ctrl+T        快速显示当前类的继承结构

Ctrl+Shift+X      把选中文本全部改为大写

Ctrl+Shift+Y      把选中文本全部改为小写

Ctrl+Shift+F      按照当前的配置文件格式化源代码

Ctrl+L        弹出行定位框以便定位到某一行

Ctrl+Numpad_Divide

Ctrl+/(小键盘)      使代码折叠可用

Ctrl+Numpad_Multify

Ctrl+*(小键盘)      展开当前类中的所有代码

Ctrl+Shift+Numpad_Divide

Ctrl+Shift+/(小键盘)  折叠所有,如果不能全部成功折叠,

将光标移到文档最后试着或多按几次

折叠当前类中的所有代码

Ctrl+1        快速修正,需要导包的时候出现导包提示界面,

Ctrl+Q         定位到最后编辑的地方

Ctrl+Shift+m      导入当前行上需要的包(add import)

Ctrl+Shift+o      导入所有需要的包(organize imports)

Shift+Enter        在当前行的下一行插入行

Shift+Ctrl+Enter    在当前行的上一行插入行

Alt+/        语法补充快捷

Ctrl+MouseLeft      当按住Ctrl时,将Mouse移动到一个类或类的方法或属性时,

左键点击会进入到源文件内进行查看

如果没找到源文件,而需要指定Sourece,

比如说JDK自身的src.zip文件或源文件所在的文件夹

Ctrl+/ == Ctrl+Shift+C 注释选定行或取消注释

Ctrl+Shift+/      用*...... */注释选定行

Ctrl+Shift+\     取消/*...... */注释

Ctrl+D         删除当前行

Shift+<         在当前位置插入成对的尖括号:<>

Ctrl+Alt+down     复制当前行到下一行

Ctrl+Alt+up       复制当前行到上一行

Ctrl+Alt+J       Join Lines连接行

Alt+down       当前行和下面一行交换位值

Alt+up         当前行和上面一行交换位值

选定光标所在的行通过用这两个快捷各执行一次来完成

Alt+left        前一个编辑的代码页面或在当前页面中上一个光标的位置

Alt+right       下一个编辑的代码页面或在当前页面中下一个光标位置

(当使用了Alt+←后)

Alt+Shift+O        (或点击工具栏中的Toggle Mark Occurrences按钮)

当点击某个标记时可使本页面中其他地方的此标记黄色凸显,

并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处

Shift+Home       选定光标处到行首的内容

Shift+End       选定光标处到行尾的内容

Ctrl+Shift+Home      选定光标处到首行行首的内容

Ctrl+Shift+End     选定光标处到尾行行尾的内容

Ctrl+Shift+P      定位到与之成对匹配的括号{或)

(从前面定位后面时,光标要在匹配符之后,从后往前定位,反之)

Tab与Shift+Tab      选中要移动的代码后,按Tab键右移,按Shift+Tab键左移

Ctrl+up

Ctrl+down        上下滚动编辑页面

查找:

Ctrl+Shift+R      相当于Navigate->Open Resource...

输入Java源文件名或类名,会按通配的方式列出符合条件的.java源文件

Ctrl+J         正向增量查找(按下Ctrl+J文件你所输入的每个字母,

编辑器都提供快速匹配定位到某个单词,如果没有,

则在stutes line中显示没有找到了,查一个单词时,特别实用,

这个功能Idea两年前就有了)

Ctrl+Shift+J     反向增量查找(和上条相文件只不过是从后往前查)

窗口:

Ctrl+M        窗口最大化与恢复大小转换

最大化当前的Edit或View(再按则恢复)

Ctrl+W        关闭当前Editor

Ctrl+Shift+F4      关闭所有打开的Editor

Ctrl+E        快速显示当前Editor的下拉文档列表

Ctrl+Shift+E      显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

F2          当鼠标放在一个标记处出现Tooltip时候,

按下F2会铆钉显示的 Tooltip 框

F3          跳到声明或定义(源文件)处

Alt+Enter        显示当前选择资源(工程,or 文件 or文件)的属性

Ctrl+PgUp

Ctrl+PgDown        切换代码窗口的各个文档,

如果切换到头就会打开"Show List"下拉框

在此下拉框里显示有最近曾打开的文件,

连续按可移动选中项

对于XML文件是切换代码和图示窗口

Alt+Shit+w        在光标处弹出选择view的菜单

在Package窗口下,弹出Navigator与Properties的选择菜单

Alt+Shift+Q,Q      弹出"Show View"选择界面

Alt+Shift+Q,T     Show View(View:  Hierarch)

Alt+Shift+Q,B     Show View(View: Breakpoints)

Alt+Shift+Q,H      Show View(View: Cheat Sheets)

Alt+Shift+Q,C      Show View(View: Console)

Alt+Shift+Q,L     Show View(View: Error Log)

Alt+Shift+Q,Z     Show View(View: History)

Alt+Shift+Q,J      Show View(View: Javadoc)

Alt+Shift+Q,O      Show View(View: Outline)

Alt+Shift+Q,P     Show View(View: Package Explorer)

Alt+Shift+Q,X     Show View(View: Problems)

Alt+Shift+Q,S     Show View(View: Search)

Alt+Shift+Q,Y     Show View(View: Synchronize)

Alt+Shift+Q,V      Show View(View: Variables)

Debug:

F5          单步调试进入函数内部

F6          单步调试不进入函数内部

F7          由函数内部返回到调用处

F8          一直执行到下一个断点

Refactor 重构(一般以Alt+Shift开头):

Alt+Shift+R  重命名被选中的变量

Alt+Shift+M   抽取方法

Alt+Shift+C  修改函数结构

Alt+Shift+L   抽取本地变量

Alt+Shift+F   把Class中的local变量变为field变量(MyEclipse中需要自定义)

Alt+Shift+I  合并变量(可能这样说有点不妥Inline)

Alt+Shift+V  移动方法和变量不怎么常用

Alt+Shift+Z   重构的后悔药(Undo)

================================================================================

Ctrl+I格式化激活的元素Format Active Elements?

Ctrl+Shift+Space提示信息即Context Information?

================================================================================

1.  更改快捷键设置(自定义快捷键)

================================================================================

代码的自动完成:

(1) Windows->Preference->General->Keys

是管理快捷键的地方

在这里的type filter text处输入Content Assist,

找到要修改的"Content Assist"

在下面会出现"Content Assist",用鼠标选中"Content Assist",

在下面的"Binding"处按自己需要的快捷键组合,比如Alt+/

在"When"中选择"Editing Text"

(2) Windows->Preference->Java->Editor->Templates

这里是管理Java编辑器模板的地方

比如找到"Name"为sysout的,可以看到其"Preview:"处有:

System.out.println(${word_selection}${});${cursor}

其表示在输入sysout后,按Alt+/就可以自动完成System.out.println();的输入

再比如找到"Name"为main的,可以看到其"Preview:"处有:

public static void main(String[] args) {

${cursor}

}

表示在输入main后,按Alt+/就可以在弹出的选项中选择main方法,

自动完成main方法的格式化输入

自定义抽取局部变量为成员变量:

Windows->Preference->General->Keys

在这里的type filter text处输入Convert a local variable to a field,

如果看到Binding一栏处还没有绑定快捷键,

就将光标移到下面的Binding文本框内,然后按Alt+Shift+F,

然后OK即可.

================================================================================

2.  整合Javadoc文档到MyEclipse

================================================================================

在MyEclipse中左边的"Package Explorer"窗口中选中一个JAR包

右键->属性>Javadoc Location可以指定其JAR包所对应的Java文档的位置,

其中上面的"Javadoc URL"可以点击Browse..."选择文档所在的目录,如:

javaee.jar在我电脑中的路径是这样的:file:/D:/Program/Sun/SDK/docs/api/

选择完后,可以点击Browse..."下的"Validate..."进行有效性验证

一般所选择的目录下面应该有index.html或相应的package-list文件.

其中下面的"Javadoc in archive"是用来选择一个打包文档jar或zip的"

选中"External file"表示我们需要从外部而不是MyEclipse工作空间中选择这个文档,

然后点击Archive path后的"Browse...",选择一个有Javadoc打包的文件

比如我电脑中的路径是这样的"D:\Program\Sun\SDK\docs\api_doc.zip

注意从sun公司网站下载的java_ee_sdk-5_03-javadocs.zip其结构是这样的"

java_ee_sdk-5_03-javadocs.zip     |

|docs|

|api|

| |index.html

| |package-list

|

|legal

不能直接选中所下载的java_ee_sdk-5_03-javadocs.zip,而要重新打包,

将其中的index.html那一级目录置为重新打包后的顶层目录

或者不用重新打包,在Archive path:中找到下载的java_ee_sdk-5_03-javadocs.zip文件

再在其下面的Path within archive:中选择相应的路径即可

Archive path:D:\Program\Sun\SDK\java_ee_sdk-5_03-javadocs.zip

Path within archive:docs/api

这样,当在编写一个源Java源文件的时便将光标定位到一个类或接口上的时候,

如:

选中HttpServlet,然后按F1,在窗口右边就会出现Help窗口,

点击窗口中的Javadoc for 'javax.servlet.http.HttpServlet',

就可以在窗口中出现相应的API帮助文档了.

以上的对相应的JAR包或相关框架的DOC的设置,

那么对于JDK的DOC的设置,可以使用下面的方式:

Windows->Preferences

输入JRE,然后选中Java->Installed JREs

在右边选中需要进行DOC文档位置设置的JRE,然后选择"Edit",

在出现的界面中选中相应的jar包,然后点击右边的"Javadoc Location..."进行设置.

================================================================================

3.  无法正常启动

================================================================================

MyEclipse启动遇到内部错误总启动不了的时便

将Workspace下的.metadata目录删除重启即可

================================================================================

4.  标记断点:

================================================================================

在java视图中,直接在你要设置断点的那行的最左边,双击即可,右键的弹出菜单中也有这个选项

Debug:

选择debug(F11,Run菜单中的debug)即可,自动进入debug视图,

用Step into(F5)能进入到被调用方法的跟踪

用Step over(F6)进行单步调试

================================================================================

5.  更改 Web Project 的 Web Context-root:

================================================================================

右键点击Web项目->Properties->MyEclipse->Web

在右边的界面的Context Root中可进行更改设置.

如果在Tomcat没运行的时便修改一个以前已部署的Web应用的Web Context-root,

此时MyEclipse会将以前此Web应用的部署删除

如果在Tomcat运行着的时候,修改一个已部署后正在使用(存在正在访问的客户端)的Web应用

的Web Context-root,MyEclipse不会将此Web应用的部署删除,而是出现一个黄色的感叹号图标.

由于Web Context-root被更改此部署其实已失效,

需要删除原来的部署,重新在Tomcat中"Add Deployment..."

================================================================================

6.  文件上传相关

================================================================================

文件上传路径,如果不写相对路径或绝对路径

那么会存入D:\Program\Apache\apache-tomcat-6.0.18\bin目录

================================================================================

7.  MyEclipse各种相关的文件格式的编辑器字体显示设置

================================================================================

window->preference->General->Appearence->Colors and Fonts

在其右边有这么几项

Basic:

Basic colors and fonts used throughout workbench dialogs and editors.

基本上指所有对话框和编辑器中的字体,包括jsp,ant的xml等文件的字体显示.

如果需要对XML等编辑器的字体进行设置,先设置这里,

对于控制台的字体如果这里设置大了看着不舒服,可专门到Debug下设置控制台的字体.

CVS:

版本库相关的显示字体

Debug:

控制台的输出字体

Java:

Java源文件编辑器字体

JavaScript:

JavaScript字体

Structured Text Editors:

结构化文本的字体,如xml,xml schemal等

Text Compare:

文本比较器的字体

View and Editor Folders:

Colors and fonts used by the default Eclipse presentation.

->Java Editor Text Font然后点Change

================================================================================

7-1. MyEclipse中UML图中的字体的设置

================================================================================

window->preference->MyEclipse->UML1

在右边的Nodes中,有Header font与Body font的设置.

================================================================================

8.  某一文件的存储字符编码设置

================================================================================

在Eclipse中不能保存中文时,可以设置一下Eclipse的编码方式为gbk等支持中文的字符编码方式。

可通过以下方式进行修改:

(1) Window->General->workspace

->在右边的界面中的"Text file encoding"下设置;

(2) 鼠标右键点击所需要修改的文件,或File->Properties

->在右边的界面中的"Text file encoding"下设置;

(3) 鼠标右键点击需要修改字符集编码的文件-->proterties(Alt+Enter)-->"Resource",

在右边窗口中的下面有"Text file encoding",

在Other处填入需要的字符集编码,如GBK或GB18030或UTF-8等;

================================================================================

8-1. 某种格式的文件的存储字符编码设置

================================================================================

Window-->Preferences-->MyEclipse-->Files and Editors,

在这里,可以设置多种文件格式的Encoding,比如说JSP的,

找到JSP,在右边就会出现一个界面,找到"The following encoding will apply:",

将Encoding:设置为自己所需要的字符编码,比如说ISO 10646/Unicode(UTF-8)

================================================================================

9.  自定义代码格式

================================================================================

"Windows"-->"Preferences"-->"Java"-->"Code Style"-->"Formatter"

================================================================================

10. 编辑JSP文档,XML等文档反应慢的问题

================================================================================

原因:

(1) 新建的工程中加入了JAVA EE的lib库

库中的所使用的javax.servelet.jar等这些个包中的javadoc location位置,

被设置成了官方网站的网址,

这样每次提示的时候都要去官方网站去找doc,所以导致myeclipse会很忙

当禁用网卡或者拔掉网线的时便就不会在卡了

(2) JSP编辑器使用了MyEclipse Visual JSP Designer

最终解决方法

(1) [Window]->[Preferences]->[MyEclipse]->[JavaEnterprise Project]->[Library Sets]

[JAVA EE 5.0][J2EE 1.4]和[J2EE 1.3]下的javax.servelet.jar等包,

点开选择[javadoc location]这个节点,双击后在对话框中,

把地址去掉为空或者选择你本地javadoc地址,即可解决jsp自动提示卡和慢的问题

(2) [Window]->[Preferences]->[General]->[Editors]->[File Associations]

在右边的上半部分列出的文件扩展名中选中*.jsp,

在右边的下半部分列出的编辑器中选中MyEclipse JSP Editor,

点击右边的"Default",将这个编辑器设置为默认的编辑器,

这样当你双击一个jsp文档的时候,就会默认使用这个编辑器打开JSP文档了.

================================================================================

11. MyEclipse版本的区别

================================================================================

blue

专为IBM开发的,功能最全的版本

M(Milestone)

Milestone版本,是比beta版还要早的版本

可以看作是下一代正式版本的一个试探性改进测试

GA(Generally Available)

正式版MyEclipse

目前(2009-12-23)8.0GA是最新的

================================================================================

12. 关闭myeclipse的Quick Update自动更新功能

================================================================================

Windows > Preferences > MyEclipse > Community Essentials,

把选项 "Search for new features on startup"的前勾去掉即可

================================================================================

13. MyEclipse内存使用相关以及JVM内存分配

================================================================================

1)  PermGen space简介

PermGen space的全称是Permanent Generation space,

是指内存的永久保存区域。

OutOfMemoryError: PermGen space从表面上看就是内存益出,

解决方法也一定是加大内存。

说说为什么会内存益出:

*  这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,

它和和存放Instance的Heap区域不同。

*  GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,

所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

这种错误常见在web服务器对JSP进行pre compile的时候。

如果你的WEB APP下都用了大量的第三方jar,

其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

13_1.Tomcat内存溢出的解决方法:

手动设置MaxPermSize大小, 修改TOMCAT_HOME/bin/catalina.sh,

在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行

JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

建议:

将相同的第三方jar文件移置到tomcat/shared/lib目录,这样可以减少jar文档重复占用内存

================================================================================

14. Eclipse 内存溢出或不能启动或死掉的解决

================================================================================

这一段时间,Eclipse总是死掉,几乎是稍微操作快一点就会死掉,几分钟一次,

搞得人郁闷至极。浪费了不少时间,在网上搜了下,看到很多朋友也出现类似的情况,

在网上求救,但是网上的办法都只是说通过修改eclipse.ini文件来加大Eclipse的内存。

自己试了下,发现不管用。今天,又死掉了,不过爆出一个经常出现的错误,

大意是:permgen space导致内存溢出。

解决办法如下:

在eclipse.ini配置文件中加上以下两行

-XX:PermSize=128M

-XX:MaxPermSize=128M

加上上2行后,我的eclipse.ini文件如下所示:

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

512m

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=128M

这里的内存大小根据自己的物理内存情况来决定吧。

从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。

理由如下: PermSize 和 MaxPermSize如果设置为相同还可以在一定程度上提高性能,

因为PermSize在不断的变化中会需要转移其中的数据。

如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

15. 让你的eclipse也能显示JVM当前内存使用量

================================================================================

1)  在eclipse或MyEclipse目录下建立一个文件文件名options,

文件内容:

org.eclipse.ui/perf/showHeapStatus=true

2)  有两种方式来启用这个配置文件:

(1) 用命令方式启动:

D:\MyEclipse\eclipse.exe -debug options -vm javaw.exe

或者直接右键eclipse的快捷方式的"目标"中填入这行

(2) MyEclipse.ini中前两行加入下面两行:

-debug

options

修改ini文件是要注意备份。

3)  启动eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量

另外还可以强制进行垃圾收集。

加启动参数和在ini中写是一样的,都是启动的配置

4)  eclipse对于JRE的加载顺序:

首先执行 -vm 参数;如果没有-vm参数,

则查找eclipse\jre子目录,如果没有找到,

eclipse最后才查找在系统中注册的jre

-------------------------------------------------------------------------------

以下是写在MyEclipse目录下的Myeclipse.ini中内容的例子:

-debug

options

-vm

javaw.exe

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=256M

在Eclipse目录下建一文件options(无任何扩展名),其内容为:

org.eclipse.ui/perf/showHeapStatus=true

加了这个后Eclipse会在下面状态栏显示垃圾回收的东东.

================================================================================

15.1 Eclipse状态栏显示JVM内存使用情况的改进

================================================================================

1.  打开记事本,输入以下内容org.eclipse.ui/perf/showHeapStatus=true

然后保存于eclipse根目录下,文件名为options,没有文件扩展名。

2.  用-debug options -vm javaw.exe这条命令启动eclipse:

在快捷方式的目标中写入如下"C:\eclipse\eclipse.exe -debug options -vm javaw.exe"

3.  重启就可以啦

================================================================================

15.2 MyEclipse8.0中状态栏显示JVM内存(Show heap status)使用情况

================================================================================

在MyEclpise8.0中简单了,windows->Preferences->General

在其右边的界面中,找到"Show heap status",并勾选上,然后确定即可;

================================================================================

16. MyEclipse7.5的Content Assist不起作用了

================================================================================

(1) 在window->Preferences->Java->Editor->Content Assist

中找到Enable auto activation,将其选项勾上;

(2) window->Preferences->Java->Editor->Content Assist->Advanced

上面的选项卡Select the proposal kinds contained in the 'default' content assist list:中,

把 Other Java Proposals 选项打上勾就可以了。

================================================================================

17. MyEclipse中启动Tomcat,JBoss等服务器里,控制台不显示启动信息

================================================================================

现象:

在控制台为:

no consoles display at this time

但服务器已经启动,可正常使用.

MyEclipse7.5 Tomcat6.0.18  JBoss4.2.3.GA

之前正常,今天突然就这样了.

解决方法:

在MyEclipse菜单中window-->preferences-->Java-->Installed JREs

中,Add自己安装的JDK,

而不要使用MyEclipse自带的JDK"com.sun.java.jdk.win32.x86_1.6.0.013"

或者:

选择Tomcat6.x-->JDK-->Add,点Browse找到自己的JDK的安装路径.

如果JDK已配置为自己安装的了,就定位到

window-->preferences-->MyEclipse Enterprise Workbench-->Servers

随便选择一个服务器,比如Tomcat6.x-->JDK,

只要定位到JDK,就OK了,

或者定位到window-->preferences-->Java-->Installed JREs,

只要一点Installed JREs,就OK了.

这个是myeclipse7.5本身的问题,莫名其妙.

================================================================================

18. 去掉Show In Breadcrumb显示出来的导航条

================================================================================

按下快捷键Alt+Shift+B或者右键单击后选中了Show in Breadcrumb时,

就会在编辑器Editor上方出现一个快速导航条,如果想去掉它可以这样来解决:

定位到Window -> Customize Perspective -> Commands

在"Available command groups"下面找到"Java Editor Persentation",

确定其是被勾选的.然后OK退出设置界面.

在菜单上会有一个Toggle Breadcrumb的快捷按钮

(一般在那一长行快捷按钮的右边,也就是切换Java,MyEclipse等视图按钮的左边),

可看见其状态是被选中的,点击这个按钮图标,即可取消(再次点击这个按钮图标又出现Breadcrumb)。

================================================================================

19. 显示被@Deprecated标注过和方法为一条横线穿过:

================================================================================

定位到Window->Preferences->Java->Compiler->Errors/Warnings;

将其右边的"Deprecated and restricted API"下的选项勾选上,然后OK.

================================================================================

20. 恢复不小心被删除的文件

================================================================================

恢复文件:

选中你需要恢复文件的Project或package,鼠标右击"Restore from Local History..."

然后直接选中你需要恢复的文件,点击"Restore"就OK了。

恢复类语句块:

选中你需要恢复的块,鼠标右击"Local History..."-->"Replace with..."

或"Restore From..."然后看清你要恢复的块。OK就行了。

当然上面只是针对Java源文件来说的,对于WebRoot下的JSP等文件的恢复,

需要选中其文件,鼠标右击"Replace with"->"Local History"->

================================================================================

21. 增强Content Assist的提示功能

================================================================================

(1) windows->preferences->Java->Editor->Content Assist

找到右下方的Auto-Activation(自动激活),

在Auto activation triggers for Java:的右边框中的.后加入abc,

(加这个的目的是为了好在后面查找定位),点击"OK",回到主界面,

(2) "File"菜单中选择"Export...",

在弹出的界面中选择"General->Preferences"->"Next",

在这个界面中,先勾选上"Keys Preferences"(注意先勾选),

再注意选中上方的"Export all", 在"To preference file:"框的右边点击"Browse...",

选择导出路径以及为导出文件取一个文件名(默认扩展名为.epf);

(3) 用文本编辑器打开导出的文件(*.epf),查找".abc"(前面在.后添加的abc就这作用),

定位到/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=.abc

处,在abc后面添加你想要的触发键,如:

...content_assist_autoactivation_triggers_java=.abcdefghijklmnopqrstuvwxyz

保存.

(4) 再使用"File"菜单中的"Import..."导入即可使用增强的Content Assist.

================================================================================

22. 为MyEclipse添加XML文档所使用的DTD或XML Schema,

从而使用Content Assistant可进行代码提示:

================================================================================

(1) DTD

1)  定位到:

WIndow->Preferences->MyEclipse->XML->XML Catalog

2)  在右边的界面中,选择"User Specified Entries",点击右边的"Add...";

3)  在弹出的对话框中点击"File System...",为Location输入框添加DTD文件所在路径;

4)  使用别的文本编辑器打开此DTD文件,找到相应的<!DOCTYPE ...>文档类型声明,

比如说Hibernate的配置文件:hibernate.cfg.xml所需要的DTD文件为:

hibernate-configuration-3.0.dtd

打开hibernate-configuration-3.0.dtd后,找到如下内容:

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

4)  "Key Type:"右边的下拉框中(有三个类型:Public ID,System ID,URI),

根据hibernate-configuration-3.0.dtd中的<!DOCTYPE...>中的PUBLIC,

选择Public ID(或者直接选择"URI"也可);

5)  "Key:"右边的文本框中,将hibernate-configuration-3.0.dtd中的<!DOCTYPE...>

中的PUBLIC后的双引号内的内容COPY,然后粘贴到"Key:"右边的文本框中,

注意,COPY的内容不带双引号"";

(如果上面第(4)步中选择的是URI,则需要填入的是dtd文件中的http://...部分)

6)  点击"OK",即可看到"User Specified Entries"已有了所增加的DTD(的KEY);

同样,hibernate-mapping-3.0.dtd这个DTD的加入,也可以如法炮制;

7)  重启MyEclipse即可,注意如果提示不出来,

并在状态栏的左下出现"Content Assist not available at the current location",

请在光标位置键入一个空格再使用Alt+/试试;

(2) XSD(XML Schema)

1)  定位到:

WIndow->Preferences->MyEclipse->XML->XML Catalog

2)  在右边的界面中,选择"User Specified Entries",点击右边的"Add...";

3)  在弹出的对话框中点击"File System...",为Location输入框添加XSD文件所在路径;

4)  .xsd文件添加后,在下面的Key:右边的文本框会自动添加一个URI,如Spring的:

http://www.springframework.org/schema/beans

如果没有自动添加,使用别的文本编辑器打开此.xsd文件,

找到相应的<xsd:schema xmlns...>名称空间声明,比如说spring-beans-2.5.xsd

<xsd:schema xmlns="http://www.springframework.org/schema/beans"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.springframework.org/schema/beans">

4)  "Key Type:"右边的下拉框中有Namespace Name与Schema Location两个选项,

如果是DTD,这里有有三个类型:Public ID,System ID,URI;

将Key Type置为Schema Location

5)  在Key:右边的文本框中的URI后面加上/,再加上此xsd的名字,

如spring-beans-2.5.xsd的key为:

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

6)  点击"OK",即可看到"User Specified Entries"已有了所增加的xsd(的KEY);

选中此xsd条目,下面的Details为:

Location: D:\Programs\Java\spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5.xsd

URI:   file:///D:/Programs/Java/spring-framework-2.5.6.SEC01/dist/resources/spring-beans-2.5.xsd

Key Type: Schema Location

Key:   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

7)  重启MyEclipse即可,注意如果提示不出来,

并在状态栏的左下出现"Content Assist not available at the current location",

请在光标位置键入一个空格再使用Alt+/试试;

================================================================================

23. 在Eclipse中可以通过window->Reset Perspective恢复透视图默认设置。

================================================================================

24. @Override报错的原因:

================================================================================

在项目的Properties-->Java Compiler的右边视图中,

选中"Enable project specific settings",

"Compiler compliance level:"选择为1.6,

因为1.5中,实现某一接口的时候,方法的实现不能使用@Override标记;

1.6后无论是方法的覆写还是方法的实现,均可使用@Override标记.

================================================================================

25. MyEclipse8.0GA中安装插件:

================================================================================

(1) 解压插件,一般会有下面的目录结构:

eclipse  |

|features

|plugins

早期的MyEclipse版本中,只需要将插件解压后的eclipse文件夹COPY到

MyEclipse目录下覆盖(补充)到eclipse文件夹中即可,

但8.0GA中不一样了,需要将插件解压后的eclipse目录中的两个文件夹,

COPY到MyEclipse安装路径下的D:\Programs\Genuitec\Common目录下,

(2) 修改bundles.info,此文件位于MyEclipse的安装目录下的:

D:\Programs\Genuitec\MyEclipse8.0GA\configuration

\org.eclipse.equinox.simpleconfigurator

目录下;

在bundles.info文件的最后,增加如下格式的信息:

包名,版本号,file:/文件绝对路经,4,false

如(一个国际化资源文件编辑器插件):

jp.gr.java_conf.ussiy.app.propedit,5.3.3,file:/D:/Programs/Genuitec/Common/plugins/jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar,4,false

(3) 重新启动MyEclipse,OK;

================================================================================

26. 防止代码格式化时出现换行

================================================================================

辛苦写完的代码,被MyEclipse格式化后,

想放在一行上的东西被自动转成了多行,

如果想避免这个情况,可:

1.  Java代码

Window->Preferences->Java->Code Style->Formatter->Edit

在弹出的界面中:

Line Wrapping->Maximum line width

这个值是设置一行的宽度,默认值为80,可以在这里把这个值根据自己需要改大;

2.  HTML/JSP代码

Window->Preferences->MyEclipse->Files and Editors->Html->Html Source->Line width

默认值为72,把这个值根据自己需要改大;

3.  XML代码

Window->Preferences->MyEclipse->Files and Editors->xml->xml Source->->Line width

默认值为72,把这个值根据自己需要改大;

================================================================================

27. MyEclipse8.0启动时显示启动界面(splash.bmp)

================================================================================

在myeclipse.ini的最后一行加上:

-showsplash

-Dosgi.splashLocation=D:/Programs/Genuitec/Common/plugins/com.genuitec.myeclipse.product8_8.0.0.me200911192201/splash.bmp

其中-Dosgi.splashLocation=后面的是界面图片的路径;

================================================================================

28. 加入自己的环境变量:

================================================================================

如在myeclipse.ini的最后一行加上:

-DNLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

-Duser.language=zh

================================================================================

29. Tomcat内存设置方法

================================================================================

在windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。

这个初始内存和最大内存在一定程度都会影响程序的性能。

比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。

所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,

一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序(Heap堆)的初始内存和最大内存:

如:

java -Xms64m -Xmx128m a.jar

Tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。

在Tomcat在改变这个设置有两种方法:

1.  适合用%tomcat_home%\bin中的startup.bat脚本启动,

需要在环境变量中加上CATALINA_OPTS这个属性,如:

SET CATALINA_OPTS=-Xms64m -Xmx512m;

ms是最小的,mx是最大,64m,512m分别是指内存的初始和最大容量.

因为用startup.bat启动tomcat服务器,会调用catalina.bat文件,

在Catalian.bat文件的166行"rem Execute Java with the applicable properties"

下面有加载系统设置的相关属性。

其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。

2.  适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS属性的方法就不适用了,

因为作为系统服务的话,系统启动时调用的是 %tomcat_home%\bin\tomcat5w.exe,

他读取注册表中的值,而不是catalina.bat的设置,因此需要修改注册表:

解决办法,修改注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

原值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs

加入

-Xms300m -Xmx350m

重起tomcat服务,设置生效

最后,测试tomcat使用内存的大小,在jsp页面:

<%

Runtime lRuntime = Runtime.getRuntime();

out.println("*** BEGIN MEMORY STATISTICS ***<br/>");

out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");

out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");

out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");

out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");

out.println("*** END MEMORY STATISTICS ***");

%>

================================================================================

30. MyEclipse中启动Oracle连接的时候报Error:

Error while performing database login with the Oracle0.2.0.1.0 driver:

ORA-00604: error occurred at recursive SQL level 1

ORA-12705: Cannot access NLS data files or invalid environment specified

大致意思是MyEclipse的环境变量或NLS配置文件与服务器端的有出入或不匹配;

查看Oracle数据库的相关信息为:

================================================================================

解决:

Help->Aboub MyEclipse Enterprise Workbench->Installation Details->

->Configuration

找找以下相关参数(下面的参数就是启动Oracle连接报错的原因):

-Duser.language=en

osgi.nl=en_CN

user.country=CN

user.language=en

打开myeclipse.ini查看,看到多了一项参数:

-Duser.language=en

MyEclipse在启动时候,语言编码是在[MyEclipse路径]\eclipse\eclipse.ini文件中加载的。

而国家地区编码是从系统的区域设置中得到的。

如果MyEclipse默认启动参数为"-Duser.language=en",

而操作系统设为"中文(中国)"也就是CN,那么MyEclipse加载后的信息就是"en_CN",

这样就会看到osgi.nl=en_CN,这就会出现上述问题,

所以只要将语言与区域设置一致,就可以解决上述问题,

可以就系统的区域设置定为"中文(中国)"CN,修改eclipse.ini文件,

将"-Duser.language=en"修改为"-Duser.language=zh",

这样在MyEclipse加载后的Configuration Details信息就统一为zh_CN,即"osgi.nl=zh_CN".

也可以直接在myeclipse.ini中设置:

-Duser.language=en

-Dosgi.nl=en_US

这样在MyEclipse加载后的Configuration Details信息就统一为en_US,即"osgi.nl=en_US".

================================================================================

31. 改变MyEclipse中错误提示的波浪线为其他样式:

================================================================================

window->Preferences->Ceneral->Editors->Text Editors->Annotations:

在右边的"Annotation Types"下找到红叉图标的"Errors",选中,

在界面上的右边,可以看到以下几个Show in的复选项:

Vertical ruler   左边框坚状条

Overview ruler   右边框坚状条

Text as      文本的显示方式

勾选上"Text as",在其右边的下拉框中有以下几种选项:

Text as :

Box           实线框

Dashed Box       虚线框

Highlighted        高亮

Native Problem Underline ??

Squiggles Line     波浪线

Underlined       下划线

Vertical Bar     竖线

================================================================================

32. 改变默认的创建JSP时的pageEncoding编码:

================================================================================

定位到:

Window->Preferences->MyEclipse->Files and Editors->JSP

在其右边的界面中,Encoding右边的下拉组合框中选择需要的字符集,如:

"ISO 10646/Unicode(UTF-8)"

在其下会显示:

IANA:  UTF-8

如果选择Chinese, National Standard

则其下会显示:

IANA:  GB18030

================================================================================

33. MyEclipse中使用正则替换批量生成删表SQL:

================================================================================

方式一:

应用于删除数据库中的垃圾表:

(1) 先在sqlplus下使用如下命令查找到表名,如:

SELECT table_name from user_tables;

把表名复制到一个.sql文件中,

(2) MyEclipse打开此.sql文件,按CTRL+F调出查找替换界面,

勾选上Options中的Regular expressions,

在Find右边的文本框填写上: (^\W)

这表示查找每行的第一个字母,并将其缓存于GROUP1中,

在Replace With右边的文本框中填写上:  DROP TABLE  $1

表示将匹配上的字符替换为DROP TABLE 加上它本身,

其中$1表示从缓存的GROUP1中取内容;

(3) 同理在语句最后加上:

在Find右边的文本框填写上: (\W$)

这表示查找每行的最后一个字母,并将其缓存于GROUP1中,

在Replace With右边的文本框中填写上:  $1 CASCADE CONSTRAINTS;

表示将匹配上的字符替换为它本身加上 CASCADE CONSTRAINTS;,

其中$1表示从缓存的GROUP1中取内容;

(4) 所有的DROP TABLE XXxxx CASCADE CONSTRAINTS;语句生成;

方式二:

(1) 先动态生成sql脚本(vi gen.sql,然后内容如下):

set head off

set feed off

set echo off

spool deltab.sql

SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS;' FROM user_tables;

spool off

set head on

set feed on

(2) 执行gen.sql生成deltab.sql;

(3) 执行deltab.sql脚本;

================================================================================

34. 新建工作空间WorkSpace后,如何使用以前的工作空间设置?

================================================================================

原工作空间目录下有相关的配置信息:

\.metadata\.plugins\org.eclipse.ui.workbench

\.metadata\.plugins\org.eclipse.ui.workbench.texteditor

将上面两个文件夹COPY到新的工作空间覆盖,然后再启动MyEclispe.

如果打开新的工作空间后,项目处还有旧工作空间的项目列表,

则删除即可,但注意不要将其从磁盘上彻底删除,也就是只从工作空间删除.

================================================================================

35. MyEclipse中编写Java源文件时一个奇怪的问题[点Vertical Ruler上的红叉后,代码被隐藏]

================================================================================

现象描述:

如果源文件有错,这时在错误行的行首左边(行号)的左边的Vertical Ruler(标断点的那个隔条)上

会有一个红叉图标,点击这个红叉图标,一般会弹出一个提示你修正的提示框,

就跟在有错的地方使用快捷键CTRL+1调出Quick Fix框一样,

但现在用鼠标点这个红叉,快速修正框不弹出了,

替代的却是整个Editor界面中的代码从错误地方开始,被移动到Editor界面中的最顶,

在有错的代码的上边的其他代码都会看不到了(注意不是代码被折叠Folding了,而是看不见了,

但是行号的序号却是此行原来的样子,只不过现在这行是顶行),关掉这个源文件,重新打开,

所有代码又都显示了,

现在的问题是怎样让鼠标点红叉后出Quick Fix框,而不是将错误代码置顶并隐藏其之前的代码?

解决:

这是由于Eclipse中的"Show Source of Selected Element Only"功能引起的,

定位到:

Window->Customize Perspective->Tool Bar Visibility->Editor Presentation

展开Editor Presentation,找到Show Source of Selected Element Only,将其勾选,

这样在工具栏的快捷处就会出现这个功能的图标,如果这个图标是凹下去的,点击一下,

使其不被使用即可;

也可在工具栏快捷的空白处鼠标右键->Customize Perspective->Tool Bar Visibility...

这样找到Show Source of Selected Element Only选项;

================================================================================

36. 解决MyEclipse中连接数据库连接后,展开table或是view列表是不能显示的问题:

================================================================================

现象:

MyEclipse8.0GA中,DB Browers能与数据库建立连接,但是在试图展开table或是view列表时是空的,

看不到已经建立的表。而且,右键点击table的create table进行建表,

在提交时报错如下:

Table could not be created

Reason:ORA-06552:PL/SQL: Compilation unit alalysis terminated

ORA-06553: PLS-553: 无法识别字符集名称

ORA-06553: PLS-553: character set name is not recognized;

开始怀疑是MyEclipse的问题,后来想起来有对数据库做过字符集的修改,

手动的使用update props$,修改了字符集,其实这并不会真正彻底的改变数据库的所有字符集,

下面来确认字符集是不是真的被彻底修改:

SQL> select value$ from props$ where name='NLS_CHARACTERSET';

VALUE$

----------------------------

ZHS16GBK

SQL>  SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,

DECODE( TYPE#,

1,   DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),

9,   DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING','UNKOWN'),

96,   DECODE(CHARSETFORM  5  , 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),

112, DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')

) TYPES_USED_IN

FROM SYS.COL$

WHERE CHARSETFORM IN (1, 2)

AND TYPE# IN (1, 9, 96, 112);

CHARACTERSET                             TYPES_USED_IN

---------------------------------------- -------------

WE8ISO8859P1                             VARCHAR2

WE8ISO8859P1                             CHAR

AL16UTF16                                NCLOB

AL16UTF16                                NVARCHAR2

ZHS16GBK                                 VARCHAR2

WE8ISO8859P1                             CLOB

AL16UTF16                                NCHAR

已选择7行。

上面SELECT语句的意思是:

NLS_CHARSET_NAME(CHARSETID) --> 使用NLS_CHARSET_NAME()函数,取到其ID参数的字符集名称;

DECODE(....) TYPES_USED_IN  --> 括号中的意思是:

如果TYPE#(TYPE#为第一个DECODE的第一个参数)的值是

第二个参数(1),则取其后的参数(1后面的)为函数的返回值,

否则继承判断TYPE#是否其与第四个参数相等,如果相等,

函数返回第五个参数的值.....,TYPE#如果均不等于

1,9,96,112,则最外的DECODE()函数返回NULL;

确实在数据库的列属性中仍然存在着多个字符集的设定,下面解决这个问题。

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

System altered.

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

System altered.

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

System altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> COL VALUE NEW_VALUE CHARSET

SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

VALUE

-------------------------------------------

ZHS16GBK

SQL> COL VALUE NEW_VALUE NCHARSET

SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

VALUE

-------------------------------------------

ZHS16GBK

这里的国家语言字符集是有问题的,往下看操作就知道了:

-- INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化

ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;

old   1: ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET

new   1: ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK

Database altered.

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

old   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET

new   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character set specified

-- 运行到此处出问题了,看来国家字符集不能是ZHS16GBK的了,

-- 那为什么取的时候会取到呢?是因为早先的时候无知地使用了这个语句:

SQL>  UPDATE props$ SET value$='ZHS16GBK'

WHERE name='NLS_CHARACTERSET' or name='NLS_NCHAR_CHARACTERSET';

-- 其值原来是 AL16UTF16,UPDATE后改成了ZHS16GBK,现在把其改回去先;

SQL> UPDATE props$ SET value$='AL16UTF16'

WHERE name='NLS_NCHAR_CHARACTERSET';  2

1 row updated.

SQL> commit;

Commit complete.

-- 再次运行:

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

old   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET

new   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character set specified

-- 还是不行,看看错误原因:

SQL> !oerr ORA 12714

12714, 00000, "invalid national character set specified"

// *Cause: Only UTF8 and AL16UTF16 are allowed to be used as the national

//         character set

// *Action: Ensure that the specified national character set is valid

-- 由此可知,Oracle 10g的NATIONAL CHARACTER SET只有2个选择:AL16UTF16与UTF8

-- 下面直接用国家字符集名字,而不使用&NCHARSET来取:

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

Database altered.

-- 成功修改

-- 关闭数据库并重启:

SQL> SHUTDOWN IMMEDIATE

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP

ORACLE instance started.

Total System Global Area  612368384 bytes

Fixed Size                  2022696 bytes

Variable Size             251658968 bytes

Database Buffers          352321536 bytes

Redo Buffers                6365184 bytes

-- 按照上面的步骤,一步一步来,一步不要少,完成以后,重新检索col$表。