myeclipse 遇到的一些问题及解决方案
1.、提示键配置
一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的
,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发
者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的
代码提 示功能一样强大。
先举个简单的例子说明问题所在,例如在Eclipse ,MyEclipse代码里面,打个foreach,switch等
这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Visual
Studio 里面是得到非常友好的代码提示的。实际上,Eclipse ,MyEclipse代码里面的代码提示功能
默认的一般 是点“.”,一般是有了点“.”,才会有代码提示。
原理:“Auto Activation triggers for java”这个选项就是指触发代码提示的的选项,把“.”
改成“.abcdefghijklmnopqrstuvwxyz(,”的意思,就是指遇到26个字母和.,(这些符号就触发
代码提 示功能了。增强Eclipse ,MyEclipse 的代码提示功能,具体怎么样来配置?
下面开始说步骤:
1. 打开MyEclipse ,然后“window”→“Preferences”
2. 选择“java”,展开,“Editor”,选择“Content Assist”。
3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto
Activation triggers for java”这个选项。其实就是指触发代码提示的就是“.”这个符号.
4. “Auto Activation triggers for java”这个选项,在“.”后加abc字母,方便后面的查找修改。然后“apply”,点击“OK”。
5. 然后,任意选择个项目“File”→“Export”,在弹出的窗口中选择“Perferences”,点击“下一步”。
6. 选择导出文件路径,本人导出到桌面,输入“test”作为文件名,点击“保存”。
7. 在桌面找到刚在保存的文件“test.epf”,右键选择“用记事本打开”。
8. 可以看到很多配置MyEclipse 的信息
9. 按“ctrl + F”快捷键,输入“.abc”,点击“查找下一个”。
10. 查找到“.abc”的配置信息.
11. 把“.abc”改成“.abcdefghijklmnopqrstuvwxyz(,”,保存,关闭“test.epf”。
12. 回到MyEclipse 界面,“File”→“Import”,在弹出的窗口中选择“Perferences”,点
击 “下一步”,选择刚在已经修改的“test.epf”文件,点击“打开”,点击“Finish”。该步骤
和上面 的导出步骤类似。
13. 最后当然是进行代码测试了。随便新建一个工程,新建一个类。在代码输入switch,foreach等
进行 测试。你立即会发现,果然出了提示,而且无论是敲哪个字母都会有很多相关的提示了,很流
畅,很方便。
总结:“Auto Activation triggers for java”这个选项就是指触发代码提示的的选项,把“.”改
成 “.abcdefghijklmnopqrstuvwxyz(,”的意思,就是指遇到26个字母和.这些符号就触发代码提示功能了。
最后:自动提示弹出的时间最好改成100毫秒以下,不然你都完事了,自动提示才弹出来。
2.调整Myeclipse中代码的显示大小
window->preferences->general->apperance->colors and fonts->basic->text->fonts
然后点击change 就可以改了!
3、.MyEclipse里面如何用快捷键打出System.out.println():
如果你打印Sy字符时没有提示名为sysout的命令名,你可以自定义要打印的字符串和命令名。类似(可key—value)可以在 Windows->Preferences->Java->Editor->Templates->new 这里就可以自定义了。
4.提示快捷键设置:
打开Window->Preference->Generate->Keys,出现一个大的对话框,"Alt+/"对应的命令名称是:"Content Assist",找到该条命令,单击选中它。这时在窗口下面的Binding 和 When 会出现自动显示该命令的信息,删掉Binding中的信息,然后按下键盘Alt+/,这个时候Binding就会自动显示Alt+/的快捷键,然后when窗口中选择Editing Java Source ,最后点击OK。
5.java.io.IOException: 句柄无效。
java.io.IOException: 句柄无效。
at java.io.FileInputStream.close0(Native Method)
at java.io.FileInputStream.close(Unknown Source)
at java.io.PushbackInputStream.close(Unknown Source)
at java.util.zip.InflaterInputStream.close(Unknown Source)
at java.util.zip.ZipInputStream.close(Unknown Source)
at org.apache.catalina.util.ExtensionValidator.getManifest(ExtensionValidator.java:375)
at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:184)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
此类异常和jdk的版有点关系.解决办法:
1.换个高版本的JDK.(未试过)
2.将tomcat的虚拟机(指向jre目录)指向JDK目录. 如:tomcat原来的虚拟机是指向:C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dll 则指向C:\Program Files\Java\jdk1.6.0_02\jre\bin\client\jvm.dll
(本人已测试通过)
6.smartupload 上传文件时出现 java.lang.NegativeArraySizeException
解决方法:<form method="post" action="smartUpload.jsp" ENCTYPE="multipart/form-data">
这个错误还是很少见到的。因为很少有人GET提交这种上传的表单。
上传文件是出现 java.lang.SecurityException
解决方案 : smart.setAllowedFilesList("doc,txt,jpg");
smart.setDeniedFilesList("exe,bat,jsp,htm,html");
检查文件中设置权限约束的问题
上传文件时出现 :java.lang.IllegalArgumentException: This path does not exist (1135).
解决方案 : 路径设置问题 修改设置路径
7.在tomcat(版本6.0.33)的 catalina.out中发现大量memory leak的日志
org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@2618d45f]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@51dce88]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
这个是由于tomcat6.0.24以后的版本有加一个监控memory leak的listener 在tomcathome/conf/server.xml
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
但是这个监控有bug才导致的误报
解决方式任选一种 1 把tomcat降级为6.0.24以下的版本
2 将tomcat升级为7.0.6以上的版本
3 在server.xml中去掉JreMemoryLeakPreventionListener的listener
8.新建类的时候自动生成项目名、包名、时间、开发者名字等等
在MyEclipse选择Windows菜单下的Preferences->Java->Code Style->Code Templates->New Java files,点击右边的Edit Template,在里面就可以设置自己喜欢的属性了,敲进“$”会有自动提醒功能。设置完成之后,每建一个类都会在顶部自动生成自己设置的属性。
9.Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决方法
解决方案[转]
一直都知道可以设置jvm heap大小,一直用eclipse写/调试java程序。一直用命令行or console加参数跑程序。现象:在eclipse的配置文件eclipse.ini中设置-vmargs -Xms500m -Xmx1024m,在eclipse中直接run 或者debug某些耗内存的程序时依然出现java.lang.OutOfMemoryError: Java Heap Space错误,即通常认为的内存不足,java虚拟机内存不够用。而在命令行加这些参数则有效果,不会出错。这说明一个问题,这些参数根本没有起作用。今天需要在eclipse里调试程序,还没到需要调试的地方就heap error了,在网上搜了很多地方,得到了最终的答案:
选中被运行的类,点击菜单‘run->run...’,选择(x)=Argument标签页下的vm arguments框里
输入 -Xmx800m, 保存运行。
原来还需要对每个project单独设置,汗...
同时设置 hibernate.hbm.xml 文件 <property name="jdbc.batch_size">2000</property>
同时加入 缓存的定期清除操作
eg: session.save(people);
if((file.length())%20 == 0){
session.flush() ;
session.clear() ;
}
10. 问题 : org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
解决方案:hibernate 中的属性字段与设置的不一致 修改属性字段
11.myeclipse 下载 hibernate ant 工具 网址:
http://www.jboss.org/tools/download.html
12. Ant 中的build.xml 文件默认打开文件设置
preferences==general==editors==file Associations
13.修改 jsp 默认的 pageEncoding
preferences === jsp 修改 encoding 为 Chinese……
14. Tomcat 信息: Not binding factory to JNDI, no JNDI name configured 没事的,只是警告!!
解决方案:没有加入配置文件
File file=new File("./Hibernate.cfg.xml");
Configuration conf = new Configuration().configure(file);
15.Myeclipse 错误 An internal error has occurred 解决办法。
给MyEclipse的快捷方式加个参数再重新启动一次。
步骤如下:右键选中快捷方式属性选项,在快捷方式页,目标一项最后加上-clean选项,如 C:\MyEclipse6\eclipse.exe -clean. 然后重新启动一下MyEclipse。
1, 当tomcat启动的时候出现下面错误:
[ERROR] org.apache.catalina.session.ManagerBase - IOException while loading persisted sessions: java.io.EOFException
或者
严重: IOException while loading persisted sessions: java.io.EOFException
严重: Exception loading sessions from persistent storage
原因是:
是因为保存在硬盘上的session数据读取失败,问题似乎不大,但是如果不处理一下,每次启动都会出现这个问题,处理方法如下:
将work(例如:tomcat5.5.20\work\Catalina\localhost\_下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser亦可。
根据上面所说,我把我的\work\Catalina\下的内容全部删除,问题成功解决。在此感谢,要不然有时候启动tom大傻猫的时候就会见到这个异常 很烦的!
2.警告: No FormBeanConfig found under 'null'
解决: 检查formbean的配置
3.Referenced file contains errors
换了myeclipse版本出现这样错误:Referenced file contains errors (http://struts.apache.org/dtds/struts-2.0.dtd). For more information, right click on the
message in the Problems View and select "Show Details..."
解决办法: 在myeclipse9.0, [MyEclipse]-[Files-Editors]-[XML]-[XML Catalog] 查找到 “-//Apache Software Foundation//DTD Struts Configuration 2.1//EN ” 和
“-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN ”
只需将struts.xml文件 “-//Apache Software Foundation//DTD Struts Configuration 2.0//EN ” 2.0修改为对应的 2.1或是2.1.7 ctrl+s即可
4.严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/
解决方案:导入 commons-lang- 2.5.jar javasssist-3.11.0.GA.jar
5.
6.Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (18810408 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
解决方案:将 文件夹 C:\Program Files\MySQL\MySQL Server 5.0 下的 my.ini 文件最后增加
max_allowed_packet= ..
7.Tomcat启动时重复出现Socket accept failed错误
严重: Socket accept failed
java.net.SocketException: select failed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(Unknown Source)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)
at java.lang.Thread.run(Unknown Source)
2012-3-29 19:11:30 org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
解决:
开始-cmd-netsh winsock reset-回车-重启服务器。
简单来说netsh winsock reset命令含义是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。
winsock是windows网络编程接口,从Windows XP SP2开始内置了一条命令使用netsh能够对该接口进行修复。
netsh是一个能够通过命令行操作几乎所有网络相关设置的接口。比如设置IP,DNS,网卡,无线网络等。
netsh winsock reset:
先进入netsh
然后进入winsock这个部件
对winsock这个部件执行reset命令。
效果就是重置Winsock。对于一些WinSock被破坏导致的问题有奇效。在netsh出现之前,对于WinSock问题的修复是非常繁琐的。
8;hibernate中遇到的问题
纠结了好长时间,上网一查才知道好多人出现过相同问题,原因一般有:
1,hbm.xml 没在beans.xml中配置
可我有啊
<property name="userInfo">
<list><value>com.phj.model</value></list>
</property>
2,find()方法中的类名未写全
我原来是
this.getHibernateTemplate().find("from tb_userInfo");
应该为
this.getHibernateTemplate().find("from com.phj.model.UserInfo");
问题原因:tb_userInfo 是实体对象名,而非表名,原因在此!!
转自:http://blog.csdn.net/feihong247/article/details/7927992
myeclipse 遇到的一些问题及解决方案的更多相关文章
- MyEclipse配色字体等配置的解决方案
Myeclipse黑色配色方案(精心修改版) http://download.csdn.net/detail/rehongchen/6579945 如何改变Myeclipse编辑区背景色 http:/ ...
- 导入myeclipse项目出现的问题及解决方案
1.myeclipse 方法上加上@Override就报错 在有@Override方法上面会报错如下: The method oncreate(Bundle) of type HelloWorld m ...
- MyEclipse SVN 下面切换用户的解决方案
configuration\org.eclipse.core.runtime\.keyring 删除MyEclipse下面的文件. 或者修改服务器端的用户密码.
- myeclipse加载buiding workspace慢解决方案
最近做项目,每次保存修改的东西.myeclipse都会building workspace(重新编译)一下.并且那 building的速度真不够慢的啊. 严重影响编程速度. 在网上也发现遇到此问题的很 ...
- myeclipse 出现换行符和空格符 解决方案 换行出现乱码
请参看百度经验 https://jingyan.baidu.com/article/acf728fd2639e4f8e510a399.html myeclipse 2014 自定义视图Customiz ...
- MyEclipse mac版删除代码崩溃--解决方案
Mac升级了系统到 High Sierra但MyEclipse却没更新(一般用PO JIE),这总情况的MyEclipse在一些特定的正常操作中总会强行崩溃 极大的影响的Mac程序员的编码,面对这种问 ...
- MyEclipse控制台console自动跳动的解决方案
有时候Eclipse启动,控制台console不会自动跳出来,需要手工点击该选项卡才行 按下面的设置,可以让它自动跳出来(或不跳出来): windows -> preferences ...
- Ubuntu中安装eclipse ,双击eclipse出现invalid configuration location问题
ubuntu invalid configuration location 标签: myeclipse for ubuntu ubuntu myeclipse ubuntu安装myecli ...
- Tomcat-java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
在我的MyEclipse中新建一个网站,并新建一个.jsp文件,配置server为Tomcat后,运行.jsp文件的时候,报错:java.lang.ClassNotFoundException: or ...
随机推荐
- Python 各种测试框架简介(三):nose
转载:https://blog.csdn.net/qq_15013233/article/details/52527260 摘要 这里将从(pythontesting.net)陆续编译四篇 Pytho ...
- 【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K
这又一次让我对http.request产生质疑 //====================================================== // 喜爱123四年级上英语MP3下载 ...
- VMware 安装Arch Linux记录
首先说明一下我的环境. 1.VMware Workstation 10.0.1 build-1379776 2.archlinux-2014.02.01-dual.iso 首先建立虚拟机,其他的不提了 ...
- PHP的异常以及异常存在的意义
php的try catch与其它语言的try catch相比有许多不同,而且用起来相对比较不爽. php中,如果你制作的站点相对较大,同时模块化,并且在错误处理机制上有一套自己的处理机制,可以尝试使用 ...
- 【转】Ionic3在ts中获取html中值的方法
我觉得有两种方法,都是Angular中的语法,一种是把值当做参数传递,另一种是使用ngModel实现双向绑定 还有一种很少用到的,Js的原生方法:document.getElementById('ch ...
- ZH奶酪:AngularJS/JavaScript上传图片【PC端】
[功能介绍] 类似与修改个人信息的时候,点击头像,就可以完成选择照片.上传照片等步骤达到替换头像的目的. [运行流程] (1)点击头像 (2)选择头像 (3)点击“完成”,上传头像 1.HTML图片部 ...
- 忘记webogic管理控制台密码
cd /user_projects/domains/base_domain/security cp DefaultAuthenticatorInit.ldift DefaultAuthenticato ...
- 有关/proc/uptime这个文件里两个参数所代表的意义
有关/proc/uptime这个文件里两个参数所代表的意义: [root@app ~]#cat /proc/uptime 3387048.81 3310821.00 第一个参数是代表从系统启动到现在的 ...
- VB数组的清除
在一个程序中,同一数组只能用Dim语句定义一次.但有时可能需要清除数组的内容或对数组重新定义,这可以用:Erase语句来实现. 格式:Erase(数组名)[,(数组名)] 功能:用于重新初始化静态数组 ...
- Can't connect to MySQL server on 'ip' (13)
解决方法1.:setsebool -P httpd_can_network_connect_db=1 解决方法2.:修改/etc/selinux/config SELINUX=enforcing 为 ...