也许当你看的时候,你可能认为这些都是简单的问题,有什么好记的。其实不是,我认为,我们往往是因为粗心而造成的错误,当你在开发中碰到这些问题时,你能一下看出来是什么错误,达到提高效率。而且往往你把小的问题,任何时候都能清晰的知道的时候,并且熟练的解决,你就是大牛了。

1 . 问题:Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

原因是jar包版本不统一,

解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.

具体方法如下:用rar打开

X:\Program Files\MyEclipse10\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.5.0.me201207171805\data\libraryset\EE_5\javaee.jar

以压缩包形式打开javaee.jar,然后删除mail即可

2.问题:No identifier specified for entity

原因:pojo实体bean缺少了主键

解决的办法:给实体类添加主键即可。

add一个主键进去,如果是对实体类的注释,应该是
  @Id
    @GeneratedValue
    @Column(name = "id", nullable = false)
    private int id;

3.问题:Invalid action class configuration that references an unknown class

Sturts2整合后时出现诡异的异常:

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named 。。。。。。。。。。。。。

解决方案:

1.检查struts.xml配置文件是否正确

一般注意 namespaces属性 method 属性和 action 节点的name 属性

<package name="authority" extends="default" namespace="/authority" >

<action name = "save" class="authorityAction" method = "save">

不光是地址是否正确 有时候多一个空格也会让xml文件读取出现问题

建议找一个能运行的action复制其中的配置,实在不行了,那就是页面的问题了,

无赖。。我遇到了这类的问题,页面的问题。。希望大家注意的jsp页面上尽量干净点,不要有多的hidden隐藏域

页面所有的无关的html都删除,只留一个提交到action的按钮或连接,结果成功提交了,没有上面的bug,后来我有把原来的页面恢复过来原来页面有个

<s:iterator value="result" status="list" >

<input type="hidden"  name="tiggerId" value="${id }" />

<input type="hidden"  name="codeName" value="${codeName}" />

</s:iterator>最后发现了在这里的错误,

2.首选加上id 来标识这个隐藏域的唯一,这个id不能重复。删除一些没有的隐藏域,结果成功的提交到了action 中

3.建议给每个单独的隐藏域在Action中添加属性 private String 隐藏域的name 属性的值 (get set方法不要忘了)

比如:<input type="hidden"  name="tiggerId" value="1" />那么后台就添加一个  private String tiggerId; //get set..方法

4.检查你的Action处理类,看看调用时return 的视图在配置文件有没有配置

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named

原因是没有合适的result name,比如:Action处理类中有一个方法return SUCCESS;而在配置文件中又没有

<result name="success">***.jsp</result>

这种错误太烦人了,今天又遇到一个:

5.Action 中有一个Long 类型的属性,表单get 提交了一个汉字,结果没有报NumberFomrate异常结果报了java.lang.RuntimeException: Invalid action class configuration that references an unknown class named ,纠结

6.纠结不断,诡异,今天又遇到一个在一个页面通过如下代码提交:

var userForm=document.forms["userForm"];
 userForm.action="../show.action?selectIds=${selectIds}";
 userForm.submit();

而我的jsp页面正好有这个name=selectIds的隐藏域 结果错误出现了,诡异,遇到烦人的错误..我绕开了而用了
window.location.href="../show.action?selectIds=${selectIds}"; 解决了,

回过头看看,最后之前提交的发现了,参数多次提交了,selectIds 在jsp页面post提交时就有值了,有提交一次.

4.问题:java.lang.UnsupportedClassVersionError 

原因:JDK版本不同

解决方法:换呗

5.问题:java.lang.NoClassDefFoundError: com/sun/mail/util/QEncoderStream

解决:添加 mail.jar和activation.jar包即可。

6.问题:javax.mail.AuthenticationFailedException:failedtoconnect

解决方法:登录网页邮箱,启动授权码,然后在客户端设置,密码即是你的授权码,不是你原来的密码。

7.问题:ORA-01017,invalid username/password;logon denied

解决的方法:

1.“运行”->输入CMD->进入根目录:c:
2.输入: sqlplus /nolog
3. connect username/password as sysdba,会显示“已链接”
4.然后就可以使用其他用户(非管理员账户登入了)。

 8.问题:No Hibernate Session bound to thread, and configuration does not allow

    public Session getSession(){
        return factory.getCurrentSession();

    }

这个不能获取session。

解决办法:

01.在spring文件中添加<property name="current_session_context_class">thread</property>

添加事务支持,才能从线程资源中获取Session 。

在Service层中添加 @Transactional

   <!-- 配置事务注解 -->
     <tx:annotation-driven transaction-manager="transactionManager"/>

 9.问题:tomcat启动时报Caused by: java.lang.ClassNotFoundException: com.opensymphony.xwork2.ActionSupport

解决方法:

加入struts2-core-2.1.8.1.jar、 xwork-core-2.1.6.jar 两个jar包即可

10.问题:java.lang.NoSuchMethodException

解决方法:

01.Action 类的方法被定义成 private 类型.
Action 中被访问的方法被定义成 private 类型.程序在访问其方法时,会抛出以上异常.
02.一定要写class=“xxx”
    <action name="backBooks_list" class="booksAction" method="backBooks_list">
 11.问题:java.io.NotSerializableException
原因:你所定义的实体类没有实现序列化接口 Serializable
在一些类里面调用了其它的类,而你调用的类实现了序列化接口,但其它类没有实现,所以会出现这样的异常
解决方法:
public class Books implements Serializable {

 12.问题:java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity

原因:在实现一些操作时,实体类为空,没有值。

解决办法:

这个你自己想了。

13.问题:Connections could not be acquired from the underlying database!

解决方法:

以上问题可能有一下原因造成:

1,驱动配置有误
2,数据库连接地址有误
3,密码或帐号有误

4,数据库未启动或无权访问

5,项目未引入对应的驱动jar包

6,oralce root没有远程访问的权限,需要增加权限

14.问题: org.hibernate.LazyInitializationException: could not initialize proxy - no Session

原因:

在<many-to-on>中这错误很常见,字面意义就是不能被初始化,因为session已经关闭了。

简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值得方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库中取数据。

JAVA 问题集中之处以及解决的办法的更多相关文章

  1. mac下需要安装旧 Java SE 6 才能打开程序解决办法

    今天我在mac系统下面安装myeclipse2014(myeclipse-pro-2014-GA-offline-installer-macosx.dmg)的时候,发现显示错误: 您需要安装旧 Jav ...

  2. Java上面出现这个错误如何解决关于XML的

    Java上面出现这个错误如何解决关于XML的 2015-01-07 14:49 hejiashun11325 | 分类:JAVA相关 | 浏览265次 The type org.xmlpull.v1. ...

  3. java.lang.OutOfMemoryError: PermGen space及其解决方法(转载)

    java.lang.OutOfMemoryError: PermGen space及其解决方法 分类: java2007-09-11 12:34 162242人阅读 评论(51) 收藏 举报 gene ...

  4. java.sql.SQLException: 关闭的连接 解决办法

    程序如果长时间不进行数据库操作,那么数据源中的 Connection 很可能已经断开.其原因有可能是防火墙,或者连接的数据库设置的超时时间.这里使用的是 C3P0 连接 oracle 数据库,引起的异 ...

  5. the import java.util.* cannot be resolve,怎么解决

    我碰到这个问题是因为重装系统后,原先的JDK6换成了JDK7, Eclipse中的旧项目中jsp文件的此类import出现错误提示.在以下页面找到解决方案,专贴出来: http://www.myexc ...

  6. Eclipse新建Java工程出现红色感叹号怎么解决?

    安装了新版本的JDK之后,在Eclipse中新建Java工程出现红色感叹号怎么解决? 其实只要在Eclipse中重新设置一下JDK路径就行了 路径:右键Java工程>>Build Path ...

  7. mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: : : unknown error错误解决方法

    mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostExce ...

  8. mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误

    mybatis异常:Could not find result map Java.util.Map 问题分析及解决 报这个错误呢,很难受的就是你定位不到具体的地方,找不到位置修改,你只知道有错误,但是 ...

  9. Eclipse代码报错提示: the import java.util cannot be resolve,怎么解决?

    显示 the import java.util cannot be resolve,如何解决?我在使用eclipse的时候, 好像无意中更改了安装位置(workspace),现在所有的包都显示无法导入 ...

随机推荐

  1. CentOS 7 修改主机名

    今天在阿里云上买了一个centos7的服务器,连接上以后,发现一个很长很长的主机名,看着让人很是不爽,就想着怎样将其改成一个有个性的名字. 这里我想说的是,在centos7 版本的linux系统上和c ...

  2. mysql 大表拆分成csv导出

    最近公司有一个几千万行的大表需要按照城市的id字段拆分成不同的csv文件. 写了一个自动化的shell脚本 在/home/hdh 下面 linux-xud0:/home/hdh # lltotal 1 ...

  3. Linux环境下常见漏洞利用技术(培训ppt+实例+exp)

    记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...

  4. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  5. 【QQ红包】手机发抢不到的口令红包

    这方法95%的人都抢不了 在QQ输入框输入一个表情,例如:阴险那个表情 将表情剪切到口令红包的口令里 这时候口令里的那个表情表情变成了符号 将符号删去一格,然后全选.复制 然后返回到QQ输入框粘贴 然 ...

  6. 初探java中this的用法

    一般this在各类语言中都表示“调用当前函数的对象”,java中也存在这种用法: public class Leaf { int i = 0; Leaf increment(){ i++; retur ...

  7. 《徐徐道来话Java》(1):泛型的基本概念

    泛型是一种编程范式(Programming Paradigm),是为了效率和重用性产生的.由Alexander Stepanov(C++标准库主要设计师)和David Musser(伦斯勒理工学院CS ...

  8. Git异常:fatal: V1.0 cannot be resolved to branch.

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  9. 前端学HTTP之连接管理

    前面的话 HTTP连接是HTTP报文传输的关键通道.要掌握HTTP就需要理解HTTP连接的来龙去脉以及如何使用这些连接 如果想查看一个网页,浏览器收到URL时,会执行下图所示的步骤.将服务器的IP地址 ...

  10. 前端学HTTP之网站架构演化

    前面的话 本文将详细介绍网站架构的演化过程 初始阶段 大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来.小型网站最开始时没有太多人访问,只需要一台服务器就绰绰有余,这时的 ...