ant jboss sse 中的一些小问题
对于框架搭建这部分相对问题多一些,而且相对遇到的问题也新一些,因为用了以前没怎么用过的框架。比如ant和ejb还有jboss服务器。
最开始的时候关于ant怎样打包、发布部署项目都一点头绪没有,更别说jboss服务器4.0和5.0的各种纠结的区别不同了。
1、ant打包、发布部署ejb项目。(这个是后面遇到的最麻烦的问题,将在后面给出详细答案)
控制台运行ant:cmd – ant [指定build.xml]即可运行。
ant打包之前为什么要先编译呢?
因为打包说白了就是一个压缩的过程,而编译才是将java文件转为class文件的过程。
2、build.xml文件的编写:这个就需要经验基础了。有些命令还是要查看相关资料呀!
3、ant编译出现Error starting modern compiler
第一种方法:http://blog.csdn.net/zuowangxi/article/details/5250533(jdk版本)
如果不是jdk则:
http://topic.csdn.net/u/20101201/17/6eeda6a4-dc49-4d95-a4ee-c9ef813f8b2d.html
解决方案:<javac srcdir="${test.dir}"destdir="${webroot.dir}/WEB-INF/classes" fork="true"debug="true">
重点:fork=“true”属性的设置
4、jboss4.0 内存溢出:
http://wangyu.iteye.com/blog/184773
这个问题并没有解决,是为了解决其他问题的时候试了试jboss4.0版本的服务器和jboss5.0的区别,最后得到了我想要的要求,但是对于jboss4.0 采用all服务器的内存溢出我并没有深入的去解决,主要是现在的重点不在这里,当然,以后还会继续,因为问题还是会遇到的。
5、javax.management.MalformedObjectNameException:Invalid character ':' in value part of property
原因:之前运行过jboss-EJB-3.0_RC9_Patch_1,也就是让jboss4支持ejb3.0.但是,运行过N次以后,将all和default目录都install了。而default是不能install的,所以报错。将ejb3.0.deploayer删除,或者重新解压一个jboss4.0即可。
但是启动该all 时依然内存溢出,把默认server改为default就不内存溢出了。
6、jboss5.0:bad version问题:jdk换成1.6就行了。jboss4.0需要jboss5.0,jboss1.5需要jdk1.6
7、ear、jar、war的区别
http://enjoyyou.blog.hexun.com/41356179_d.html
http://xuezhongfeicn.blog.163.com/blog/static/22460141201010545635448/
下面是几个关于sse中的小问题:
8、spring必须jar:org.springframework.expression-3.0.5.RELEASE.jar
9、struts2必须jar:struts2-convention-plugin-2.2.3.jar
关于这个spring必须jar和struts必须jar,在做以前的项目的时候写过一些文章,那时候经过测试的所谓的必须jar到现在又出现了问题,于是进行了各种引入:除了jstl和standard两个jar以外,圈红框的是struts2需要的jar,其他的是spring3.0需要的jar,这其中spring没有引入jdbc、jta等相关jar,仅引用了aop和ioc相关的jar。
10、com.opensymphony.xwork2.inject.DependencyException:
No mapping foundfor dependency
这个就是那个让人无比纠结struts2的配置文件默认路径更改以后出现的问题,按照网上说的各种方法试过以后还是不行。
http://hi.baidu.com/%D3%D2%CA%D6%C4%AA%D4%FA%CC%D8%B5%C4/blog/item/1a08a5d95e5afa3010df9be4.html
11、hibernate.hbm2ddl.auto 属性
create:表示启动的时候先drop,再create
create-drop: 也表示创建,只不过再系统关闭前执行一下drop
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新