1. myeclipse+hibernate+junit 在进行测试时出现invalid project specified对话框
原因:你的工程可能是复制过来的。而你改名字时前面的一个空格没去掉。
2.用hibernate的schemaExport来生成表格及显示建表语句时,为什么建表语句还是在一行显示
原因:在hibernate的配置文件中没有配置fromat_sql属性应该这样配置:<property name=”format_sql”>true</property>,
它的意思是格式化输出sql语句。
3.JSP中出现org.apache.jasper.JasperException: Unable to compile class for JSP 这样的错误
解决方法:要检查MyEclipse中Java选项中的JDK是否和Tomcat中的JDK是否一样,如果一样,就要检查书写的jsp是否有错。
在写JSP时,通过File-Import- Existing Projects into Workspace 导入了一个外部工程到当前的工作空间,导入后工程前面却出
现了红叉,用Project-clean 等等方法都无法消除,看Problem提示这样的错误:
意思是说有没有绑定的classpath参数,最后通过一系列的努力终于明白了错误之处。
原因:右键工程查看properties:
发现这里有三个jar文件,正式problem中提到得那几个。既然是存在于Libraries中很明显
这几个jar文件时通过外部导入了,但是我们知道MyEclipse中不必导入Tomcat中的一些包,
它通过这样的设置自动找到要求的包:
由此我们就可以知道,导入的这个外部项目没有通过MyEclipse来自动连接Tomcat而是手动连接,也就是手动导入需要的包,在设置classpath来连接。
解决方法:既然我们是把它导入到了MyEclipse中,而已经在MyEclipse中配置了Tomcat,所以就没必要用到上面的那三个包了,只要删掉他们就行了,删掉以后红叉没有了。
5. tomcat5下jsp出现getOutputStream() has already been called for this response异常
原因: 由于jsp container在处理完成请求后会调用releasePageContet方法释放所用的PageContext object,并且同时调用getWriter方法,由于getWriter方法与在jsp页面中使用流相关的getOutputStream方法冲突,所以会造成这种异常。
解决办法:只需要在jsp页面的最后加上两条语句:
out.clear();
out=pageContext.pushBody();
6.今天在MyEclipse下导入一个外部工程,然后用Tomcat部署时报错了,具体错误如下:
原因:这里是由于jdk的版本问题,使得出这样的错误,应该确保下面的三个的jdk版本是一样的:
tomcat版本
jdk版本
框架的jar版本
解决办法:设置JDK Compliance
设置Tomcat path
确保框架的jar版本与上面的一致
7.今天在用hibernate自动生成表的时候出现了这样的错误 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
再控制台里建表语句已经打印出来了,但是数据库中的表确没有生成。
我的实体类的属性是这样的:
private int itemId;
private String type;
private String itemName;
private int price;
private String describe(无效字段);
private String detail;
private Boolean hasPicture;
奇怪的是我换了一个实体类,再重新测试,表可以正常生成,这时候我就有点怀疑是不是实体类的问题了,经过一系列的提问,终于弄明白了原来是我表中的字段describe与mysql中显示表结构的命令describe冲突,所以就有了上面的错误。
这时候我们可以这样做,把建表语句放到MySql控制台中去试试,看是什么样的错误。