有时候web程序会引用到workspace下面的其它工程,在tomcat调试的时候,经常会出现找不到所引用的jar的问题。
而抛出的异常也很诡异,有时候会是: classNotFound, 或者 NoClassDefineFound,
有时候甚至会是 XXX can't be resolved to be a type ,这种异常最扯淡了,你会去想是不是你的jsp写的有问题,或者页面中引入包的时候没有写对。而其实是对用的包没有找到.
在 eclipse 菜单栏-->Window --> Show View --> Other -->Server中选择tomcat,然后在下面的 panel中就看到了servers,双击就打开了tomcat的配置面板,单击 Open launch configuration,然后在classPath的User Entries中将引用的工程加入其中。
这样tomcat调试的时候就会找到对应的类了。
需要注意的是,不能将web工程加入其中,否则tomcat将会执行此web 工程,而非你正在编辑的eclipse中的web,即使你设置断点也不会执行,异常也不会在console中显示。
另外就是,如果引用的工程发生了变化,貌似需要在tomcat中先删除,再重新添加,才能保证调试的时候运行的是最新的代码。