`
sqe_james
  • 浏览: 264354 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

开发中常见异常归总

    博客分类:
  • J2EE
阅读更多
一、javamail 异常

1. java.lang.NoClassDefFoundError: javax/mail/Authenticator  表示没找到mail.jar等javamail所需的依赖库,将这些依赖文件放到tomcat自带库文件夹或部署项目的WEB-INF/lib目录下即可。

2. Tomcat: java.lang.ClassCastException: javax.mail.Session  这个异常说明Tomcat自带库和webapp项目库里均有mail.jar和activation.jar依赖文件,删除两者之一即可。

官方说明:

Although Tomcat 5.5 supports J2EE, you still need to get the activation.jar (Java Activation Framework) and mail.jar (JavaMail) files from Sun's site.

JavaMail API

Java Activation Framework (JAF)

 

The ClassCastException is most likely being thrown being thrown because you have either of those two libraries in a WEB-INF/lib directory within one of your applications. To avoid this problem, make sure that you only have the libraries in the $TOMCAT_HOME/common/lib/ directory.

 

Also be sure to read the JNDI resources page on the Apache Tomcat site: http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html

 

二、hibernate异常

1. org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect). Could not synchronize database state with session

说明操作的对象应用了乐观锁;version

错误原因:当在进行操作时,当前version版本与DB中version版本不一致:

A:另外有人对此记录进行了相似操作;

B:自己操作有误:。

例如通过编辑页面来修改一条记录时,传回来的form对象中version为空,然后又指导这些form中的值copy到相应的实体对象中,此时此实体对象中的version也为空,当update时version不一致就会出错。

解决:

A. 用form传数据时把version也传过来

B. 从DB中把version查出来赋给实体对象再更新

 

三、开发工具

1. eclipse中jboss启动时提示 50 seconds. 超时

解决方法1:双击servers中的”JBoss v4.2 at localhost”,在timeout选项中调大start时间就可以了。

解决方法2:eclipse中jboss启动时提示

Server JBoss v4.2 at localhost was unable to start within 50 seconds.

If the server requires more time, try increasing the timeout in the server editor.

解决办法,修改

workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml

<server auto-publish-setting="1" hostname="localhost" id="JBoss v4.2 at localhost" name="JBoss v4.2 at localhost" runtime-id="JBoss v4.2" server-type="org.eclipse.jst.server.generic.jboss42" server-type-id="org.eclipse.jst.server.generic.jboss42" start-timeout="50" stop-timeout="15" timestamp="7">

把 start-timeout="50" 改为  start-timeout="500000"

重启eclipse就可以了

 

2. eclipse 安装jboss tools 重启报错(Juno Service Release 2, Jboss4.2.3.GA)

org.eclipse.e4.core.di.InjectionException: java.lang.ClassCastException: Cannot cast org.eclipse.core.commands.CommandManager to org.eclipse.core.commands.CommandManager

...

at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Caused by: java.lang.ClassCastException: Cannot cast org.eclipse.core.commands.CommandManager to org.eclipse.core.commands.CommandManager

... 27 more

...

org.eclipse.e4.core.di.InjectionException: Unable to process "CommandProcessingAddon.commandService": no actual value was found for the argument "ECommandService".

...

org.eclipse.e4.core.di.InjectionException: Unable to process "BindingProcessingAddon.commandService": no actual value was found for the argument "ECommandService".

...

java.lang.NullPointerException

at org.eclipse.e4.ui.internal.workbench.E4Workbench.processHierarchy(E4Workbench.java:172)

...

 

解决办法:

Problems with Eclipse's workspaces tend to be painful. Try going to your installation path, and find configuration\org.eclipse.equinox.simpleconfigurator\.

 

Open bundle.info and then delete the lower version of duplicate entry for org.eclipse.core.commands. Then restart the eclipse with the -clean option.

 

四、apache httpd常见错误

1. Starting httpd: httpd: apr_sockaddr_info_get() failed for MYHOST

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.

这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName 所以它会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。

所以要解决这个问题可以设定 ServerName 或者在 /etc/hosts 中填入自己的主机名 MYHOST,像这样:

>vi /etc/hosts

127.0.0.1 localhost.localdomain localhost MYHOST

 

2. 登陆时提示:“缺少 mysqli 扩展。请检查 PHP 配置

    请检查 PHP 配置,查看php.ini 文件,发现没有mysql扩展,所以需要安装php-mysql

 

3. The mbstring PHP extension was not found and you seem to be using a multibyte charset. Without the mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.

    yum install php-mbstring

 

4. The mcrypt extension is missing. Please check your PHP configuration.

       I installed php 5.3 and some modules using

 

yum install php53-{module-name}

But mcrypt did not work.

 

I searched like this:

 

yum list php* | grep mcry

The only package that came up was

 

php-mcrypt.x86-64         5.1.6-15.e15.centos.1    extras

I have the same exact problem with mhash. The results for php are even more confusing.

 

I know this is probably a dumb question, but any help would be appreciated. I am used to Ubuntu's simple "apt-get install" and everything works. CentOS seems to be a lot more detail oriented.

 

The package you are looking for exists! All you need to do is

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install php-mcrypt

 

5. 严重: Unable to set localhost. This prevents creation of a GUID.

   Cause was: gom.localdomain: gom.localdomain  

java.net.UnknownHostException: gom.localdomain: gom.localdomain  

at java.net.InetAddress.getLocalHost(InetAddress.java:1426)  

at net.sf.ehcache.Cache.<clinit>(Cache.java:199)

 

修改/etc/hosts文件。在其中加上一条(对应改成你自己的机器名称),重启后问题解决。

127.0.0.1  gom.localdomain

 

五、J2EE常见错误

1. uploadify与struts2 整合时遇到的异常

刚开始以为form没设置enctype="multipart/form-data"属性,修改uplaodify源码,还是老问题,后来又以为是uploadify的flash SessionID 与Server不同所致,于是回传SessionId,还是不能解决问题。在无数次尝试之后发现是名称问题,真他妈郁闷呀….

File名称不能命名为upload,我该为myupload之后,一切都正常了…

 

当时项目要求用的是struts2 v2.3.4的版本,不知是不是这个问题

JSP

<input licencePhotoname="upload" type="file" />

 

Action源码

private File upload;//和HTML中input标记name同名  

private String uploadFileName;//Struts2拦截器获得的文件名 

private String uploadContentType;

 

报的错误如下:

[com.opensymphony.xwork2.ognl.OgnlValueStack]-[WARN] Error setting expression 'Upload' with value '[Ljava.lang.String;@ff5d3f'

ognl.MethodFailedException: Method "setUpload" failed for object 

com.ttni.haveFun.Action.upload.FileUploadAction@1e229be[java.lang.NoSuchMethodException:  

com.ttni.haveFun.Action.upload.FileUploadAction.setUpload([Ljava.lang.String;)]

......

Cannot create type class java.io.File from value Submit Query - [unknown location]

....

 

2. log4j:WARN Error initializing output writer.

    log4j:WARN Unsupported encoding?

 

   把 log4j.appender.stdout.Encoding=UTF-8 这一行去掉就可以了

 

3. Syntax error on line 292 of /etc/httpd/conf/httpd.conf: DocumentRoot must be a directory

    解决办法:

The link you posted under "Other websites" highlights the root cause of your problem, which is Selinux.

 

Unless the server is part of a super secure environment, I would simply disable Selinux.

 

On RedHat / CentOS / Scientific Linux this can easily be done by editing /etc/sysconfig/selinux - find the parameter "selinux" and change the option "enforcing" to "disabled" as per the extract below:

 

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - No SELinux policy is loaded.

SELINUX=disabled

 

It is probably wise to reboot the server after making this change.

分享到:
评论

相关推荐

    nutch常见问题归总(原创)

    nutch常见问题归总,对初学nutch的一些问题做出的整理

    小学数学归一归总问题PPT课件.pptx

    小学数学中的归一问题和归总问题是一种常见的应用题型,主要目的是训练孩子们对数量关系的理解和实际问题的解决能力。 归一问题的核心在于找到一个单一量,即单位量,以此为基准来解决复杂的问题。例如,如果知道买...

    SQL实战代码基础归总

    sql全部基础完全手写代码大全,对于初学者是很有帮助的

    MTK6226平台知识归总

    MTK6226是一个常见的移动通信芯片平台,尤其在入门级手机开发中应用广泛。本文旨在为初学者和开发者提供一个全面的理解框架,涵盖MMI(Man-Machine Interface)的整体构架、各模块功能以及与L4(Layer 4)之间的通信...

    IOS面试题归总

    【iOS面试题归总】 ...了解这些知识点对于iOS开发者来说至关重要,它们涵盖了Objective-C的基础语法、内存管理、多线程、设计模式等多个方面,是面试中常见的考察点。熟悉并掌握这些内容将有助于在面试中表现出色。

    归一归总问题教师版-13页.pdf

    归一和归总问题在小学数学中是常见的应用题型,它们主要涉及到比例和运算的知识。归一问题和归总问题都是通过找到一个基础单位或总量来解决复杂问题的策略。 **一、归一问题** 归一问题的核心是将复杂问题简化到一...

    三年级奥数归一归总问题.doc

    【归一问题与归总问题】是小学奥数中常见的两种类型的应用题,它们主要考察学生对数量关系的理解和计算能力。归一问题的核心在于找到一个"单位数量",通过除法运算确定这个单位,然后根据这个单位去解决其他相关问题...

    计算机自测题归总.doc

    计算机自测题归总.doc

    城镇化进程中的融资-民间资本的归总.pptx

    在城镇化进程中,融资问题显得尤为重要,因为城镇化需要大量的资金来支持基础设施建设、公共服务提供和社会福利的改善。民间资本的归总在此背景下成为关键,可以多元化融资渠道,减轻政府负担,促进经济的可持续发展...

    eclipse 使用技巧归总

    ### Eclipse 使用技巧详解 #### 一、Tab 设置与调整 在使用 Eclipse 进行编程时,对于 Tab ...以上是 Eclipse 使用过程中的一些常见技巧和设置方法,希望能帮助开发者更高效地利用 Eclipse 这款强大的集成开发环境。

    小学数学归一及归总问题.pptx

    【小学数学归一及归总问题】是小学数学中一种重要的解题方法,主要应用于解决实际生活中涉及到比例和数量关系的应用题。这类问题通常需要先找出一个基础单位(单一量),然后根据这个单位来计算其他未知量。 1. **...

    四年级数学下册第六模块归总问题新人教版

    归总问题是一种常见的数学应用题型,主要涉及的是两个或多个变量之间的关系,其中有一个变量(总量)保持不变,而其他变量发生变化。这类问题常常出现在小学数学教育中,尤其是四年级的课程中,如新人教版四年级数学...

    小学数学归一归总问题PPT学习教案.pptx

    小学数学中的归一问题和归总问题是一种常见的应用题型,它们主要训练学生的逻辑思维和实际问题解决能力。归一问题的关键在于先找到一个“单一量”,即单位量,然后以此为基础来解决其他相关问题。而归总问题则相反,...

    小学数学归一及归总问题PPT学习教案.pptx

    小学数学中的"归一"和"归总"问题是指一类特定的应用题,它们涉及将不同条件下的数量统一到一个标准量进行比较或计算。归一问题通常需要先找到"单一量",即单位数量,然后根据这个单位量解决其他相关问题。而归总问题...

    小学四年级奥数教程归总问题PPT课件.pptx

    【归总问题】是小学奥数中的一种常见解题方法,尤其在四年级学生的数学学习中扮演着重要角色。归总问题的特点在于首先确定一个“总量”,然后通过其他已知条件来解决问题。总量通常指的是总数量、总距离、总工作量、...

    小学数学归一及归总问题模板PPT学习教案.pptx

    小学数学中的"归一"和"归总"问题是一种常见的应用题类型,旨在培养学生的逻辑思维和实际问题解决能力。这两种问题通常涉及到单位统一、数量转换以及简单的比例关系。 **归一问题**指的是在解决问题时,首先需要找到...

    数据结构知识点归总

    ### 数据结构知识点归总 #### 一、数据结构与算法基础特性 数据结构与算法是计算机科学中的核心概念,它们不仅决定了程序的运行效率,也是解决问题的重要工具。 **算法的基本特性** 包括: 1. **有穷性**:算法...

    初一下的期未 方程中应用题归总复习【华师大版】精选.doc

    2. 应用题的常见类型及数量关系: - 等积类:形状变化但体积保持不变。 - 调配类:调配前后数量关系变化。 - 利息类:本金、利率和利息之间的关系。 - 商品利润率:利润=售价-进价,利润率是利润与售价的比例。 ...

Global site tag (gtag.js) - Google Analytics