J2EE Web项目Tomcat跑不起来的一些问题解决过程汇总

一个J2EE的web项目,正式投产环境是weblogic,开发环境是tomcat

但是实际用的过程发现了一些问题,记录下如何解决这些“奇怪问题”的。


1.  使用run as 居然没有Run as server可以选,通过server 添加resource也提示没有可用资源。


解决: 因为项目是从版本库导入的,eclipse识别不了该项目是web项目,故有上面的问题。

      选中项目 --右键属性 --选择 project facets --选中 Dynamic  Web Module ,确认后eclipse就知道这个web项目了。


2. run as 对应的项目,选中的tomcat是启动了,但是没有deploy的过程,即使点击server里的publish也没用。

解决: 其实eclipse有执行deploy(部署)的操作,但是没有人告诉它,部署的规则。 

      选中项目--右键属性  --选择Deployment Assembly --可以看到部署的对应结构。

* 有时候项目属性根本没有这个项,怎么办?

解决:修改项目的 .project 配置文件 在<natures>下增加 

  <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>


3 如果选中Dynamic web project 选择不能确定,或

tomcat x.x does not support version 2.5 of J2EE specification.....异常,

排除Dynamic web Module于某些项不能同时选择的异常.

解决方式是

打开项目根目录下的.settings在有个名为org.eclipse.wst.common.project.facet.core.xml的文件,里面配置有各种版本信息。此时,按照通常按照如下修改.

在<faceted-project>标签下修改为
  <fixed facet="wst.jsdt.web"/>
  <fixed facet="jst.web"/>
  <fixed facet="java"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="2.5"/>
  <installed facet="wst.jsdt.web" version="1.0"/>

重启eclipse,重新在项目下点击左键选择项目属性 选择Project facets 选中Dynamic web project ,java,javascript.应该就可以了


4. 编译没有问题,每次运行出现一些奇怪的问题,例如一些jndi的问题:Name java: is not bound in this Context 之类的。

解决: 网上有些解释是tomcat的包冲突,在检查了几个包后,把项目依赖的几个包放到jre runtime资源里

例如serlvet-api.jar jsp-api.jar等,这样编译也不会报错,运行也没有出现jndi问题。

5. Tomcat5.5的一些问题:

   JDBC不支持 getJDBCMajorVersion等方法。  替换/common/lib/classes12.jar  为 ojbc14.jar

  jasperexception  type mismatch  cannot convert  double to Double 之类的。

  网上解释是,因为jdk1.5之前没有autoboxing 特性,但是检查好几遍了jdk版本都是1.6了

  最后通过替换 jasper的jar包解决问题。

  中间替换后运行时又提示 not found org/apache/juli/logging/logfactory  又替换/bin/tomcat-juli-jar 包解决。






你可能感兴趣的:(J2EE Web项目Tomcat跑不起来的一些问题解决过程汇总)