下面是一些主要问题的总结:
- Tomcat的版本问题,这个最早出现,基本上因为Tomcat的启动方式(路径设置方面)在5.0.27以后有了改变,Lomboz 3 不能适应这以后的版本。
解决办法有两个:- 开发的时候不要用5.0.25以后的版本,但可以在实际部署应用程序的时候用比较新的版本,比如5.0.27,28等。
- 修改Lomboz里的一个配置文件(具体是eclipse目录下的,plugins/com.objectlearn.jdt.j2ee_3.0.1/servers/tomcat5-x.server),这种方法可以让tomcat正常启动起来,但以后调试中可能出现其他问题,这就没有什么保证了。
我个人推荐大家都用第一种方法,比较简单,而且几乎肯定是可行的。因为有太多的朋友被这个问题卡住了,用一个方法就从来没有启动不了的问题。
- 配置文件问题,其实这个问题本不应该有,纯属我个人的失误。从常识上将,XML节点名字都是区分大小写的,那天我被这个blog里的编辑器弄得很烦,就糊涂地写这种有常识错误的配置上来。害得很多朋友在这个问题上困扰了不少时间,实在是抱歉。
正如很多朋友指出的,正确配置文件里,节点名,属性名的大小写都是不能错的,要感谢所有指出这个问题的朋友。正确配置文件内容如下:
< Context path="/blog" docBase="e:/coding/project/blog/blog" debug="0" privileged="true" reloadable="true" workDir="e:/coding/project/blog/j2src" / >
具体目录要根据各位实际情况修改,但节点名,属性名一定不能错。各位拷贝的时候,开始“<”和结束“>”符号前后的空格也要去掉(这里加上是因为排版问题)
- 需要手动改_jsp.java才能捕捉断点的问题,我在回答朋友已经说过这个问题了,这里再重复一次。手动改使断点工作的方法不是正解,如果你的开发环境一定要改了才能截住断点,那是因为你的设置有问题,我从来没有改过任何_jsp.java文件,一样可以调试。
话说回来,如果你一定要改才能调试,那就改好了,这不是什么大不了的事,调试不了才是大问题。只是希望大家知道这不是正确的方法。
Possible solution:
I edited the file "tomcat50x.server" under
C:/eclipse/plugins/com.objectlearn.jdt.j2ee_3.0.1/servers
and changed
-Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"
to
-Djava.endorsed.dirs="${serverRootDirectory}/common/endorsed"
in the following 'tags':
<startVmParameters>-DJAVA_HOME="${jrePath}" -Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}" -Djava.io.tmpdir="${serverRootDirectory}/temp" -Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"</startVmParameters>
and
<stopVmParameters>-DJAVA_HOME="${jrePath}" -Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}" -Djava.io.tmpdir="${serverRootDirectory}/temp" -Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed"</stopVmParameters>
This matches the value used in my catalina.bat file when lauched from the command prompt.
原文在这里:
http://forge.objectweb.org/forum/forum.php?thread_id=1028&forum_id=360