看到别人写的关于EJB的文章,学着写写自己的设计环境。
那篇文章在这里:使用Eclipse3.0+lomboz3.0+jboss3.2.3开发EJB By 姜进成
因为不需要EJB,我的环境就没有这么高级了,用简单的Tomcat 5了事。
这里说的是从刚安装完的eclipse后
必需的软件:这里要提醒一下,开源的东西对版本的要求是很严格的,如果版本不对会发生一些意想不到的情况
- JDK 1.4 我的是1.4.1_0.2,推荐1.4.2 http://java.sun.com
- Eclipse 3 我的是3.0.0 http://www.eclipse.org
- Lomboz 3 我的是3.0.1 http://www.objectlearn.com
- Tomcat 5 我的是5.0.25(推荐),5.0.27以上会有问题,如启动问题,http://archive.apache.org/dist/
- EMF 2.0.0 http://www.eclipse.org/emf
一 准备工作
1。设置eclipse的自动更新
eclipse3.0.0不会自动更新插件
修改eclipse/configuration下的config.ini 加:osgi.checkConfiguration=true
删除eclipse/configuration下的org.eclipse.update目录
2。安装lomboz
将lomboz解压到eclipse/plugin目录下即可
将emf解压到eclipse下即可,emf不装的话lomboz不能用
3.设置perspective
重起eclipse后就可以在window->preference下看到lomboz项了
设置window->customize perspective 将相关的有lomboz的都选上
4。设置lomboz
1)设置jdk tools.jar 在preferences->lomboz 改好后记得按Apply按钮
2) 设置tomcat服务器(下拉框中的服务器配置对应plugins/com.objectlearn.jdt.j2ee_3.01/servers/下的server文件)preferences-〉lomboz-〉server definition
application server directory 和 classpath variable 都设成tomcat的安装目录, 改好后记得按Apply按钮
在preferences->lomboz->server definitions->tomcat5.0.x->project classpath中add library,加入tomcat/common/lib/jasper-runtime.jar,不然在j2src中生成的servlet会编译出错,不能进行jsp单步调试
5。编译目录设置 preferences-〉java-〉build path -〉source and output path改成folders,这个不设也可以,但是和后面的project的设置有关系
二:web project设置
1。新建工程
new -〉lomboz j2ee project
第一步:project directory :如c:/project/debugJsp
第二步:按缺省值,在建完以后再修改
第三步:web modules :add一个,名字会对应到一个目录,这个目录就是context目录:如demo
targeted servers:选刚才配置好的tomcat5
2.设置工程目录(现在工程名debugjsp context名demo)
project-〉properties-〉java build path
1)在source folder and build path中不要添加debugjsp/demo这个目录,因为default output path要设在debugjsp/demo/web-inf/classes下,不然的话会报嵌套错误,这也是为什么要做1.5步骤的原因,这样一来debugjsp/demo就不会出现在source folder下
2)在source folder and build path中添加debugjsp/j2src目录,一般会自动添加,选上下面的 allow output folders for source folders 然后选择debugjsp/j2src->output folder为j2src目录
3)修改default output folders为debugjsp/demo/web-inf/classes
3.添加tomcat的context配置
在tomcat/conf/catalina/localhost下新建一个xml文件,文件名随便取,在这个目录下的xml文件都将被tomcat作为context的配置文件自动进行配置和部署,一个xml文件就对应一个context,如果删除这个xml文件,tomcat就会自动undeploy对应的context,而且无需重起
xml文件中的内容:注意大小写要一致(project的目录是c:/project/debugJsp,context目录c:/project/debugJsp/demo)
docBase="C/project/debugJsp/demo" path="/debugjsp" />
当然也可以添加到server.xml中
三:调试jsp
1.启动tomcat-debug tomcat server
打开lomboz j2ee view,选择对应的context,然后按lauched selected server(黄色齿轮状按钮),这时候会启动tomcat
2。生成对应servlet
在浏览器中输入要调试的jsp页面(如:index.jsp),如:http://localhost:8080/debugjsp/index.jsp,这时候如果一切正常的话应该会显示出正确的结果,这时候到eclipse中刷新一下工程,这时候j2src目录下就会有对应的servlet文件了,如:index_jsp.java(在org.apache.jsp目录下)
3。设置断点,在index_jsp.java中设置断点(我们调试的其实是servlet),然后回到浏览器刷新一下刚才的页面http://localhost:8080/debugjsp/index.jsp,这时候eclipse就会进入debug perspective,在断点处停下来,接下来就。。。。
总的过程就是这样了,如果有问题的话,请注意一下这几步:
1。lomboz服务器的配置正确
2。编译目录设置正确,尤其是j2src目录
四:关于tomcat5.0.27以上版本出现的class loader exception的解决
使用这种版本的时候会出现以下错误
Bootstrap: Class loader creation threw exception
java.lang.ExceptionInInitializerError
at org.apache.catalina.loader.StandardClassLoader.
(StandardClassLoader.java:207)
at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:189)
at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:160)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:104)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:193)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:399)
Caused by: org.apache.commons.logging.LogConfigurationException:
解决办法:1。换成5.0.25
2。将tomcat5x.server中的startVmParameters和stopVmParameter中的-Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed" 改成-Djava.endorsed.dirs="${serverRootDirectory}/common/endorsed"
原文 http://forge.objectweb.org/forum/forum.php?thread_id=1028&forum_id=360
参考 http://blog.csdn.net/dawave/archive/2004/07/25/51879.aspx