当项目从别处迁移import本机之后,总有些异常出现,很正常.比如lib找不到.webserver target丢失.这都是因为不同的开发环境配置不一致造成的

本文解决方法如下

Eclipse导入工程后工程上显示一个小红叉,但工程里没有文件错误,也没有语法错误,百思不得其解啊,后来在网上找了一些资料说是项目引用的类库路径有问题。【项目】->【右键】->【build path】->【configure build path】->【libraries】,查看一下引用的类库路径。网上都说是因为这里引用错误引起的,但是我在项目导入的时候做的第一件事情就是修改这里的library,因此不是这个原因。

在problems中显示错误是:Target runtime Apache Tomcat 6.0 is not defined. 在网上查了一下终于找到解决方法。方法是:在工程目录下的.settings文件夹里,打开org.eclipse.wst.common.project.facet.core.xml文件,其内容是:

<?xmlversion="1.0"encoding="UTF-8"?> 
<
faceted-project
<
runtimename="Apache Tomcat v6.0"/> 
<
fixedfacet="jst.web"/> 
<
fixedfacet="jst.java"/> 
<
installedfacet="jst.java"version="6.0"/> 
<
installedfacet="jst.web"version="2.5"/> 
<
installedfacet="wst.jsdt.web"version="1.0"/> 
</
faceted-project>

将其修改为:

<?xml version="1.0" encoding="UTF-8" ?> <faceted-project> </faceted-project>

PS:进行上面的修改以后虽然没有错误了,但是想发布网站demo的时候发现没有【run as】->【run on server】这个选项了。这时候我们创建一个demo2的web project,然后查看.settings下的org.eclipse.wst.common.project.facet.core.xml,我们发现其内容是:

<?xml version="1.0" encoding="UTF-8" ?> <faceted-project> <runtime name="Apache Tomcat v6.0.29" /> <fixed facet="jst.web" /> <fixed facet="java" /> <fixed facet="wst.jsdt.web" /> <installed facet="java"version="1.6" /> <installed facet="jst.web" version="2.5" /> <installed facet="wst.jsdt.web" version="1.0" /> </faceted-project>

那么我们只需要将该代码拷贝到网站demo下的.settings目录下,将原来的org.eclipse.wst.common.project.facet.core.xml覆盖即可。覆盖以后我们在Eclipse就能够使用【run as】->【run on server】来发布demo了。

Ps:找错误,最好的方式是先将problem视图调出来查看哪里报错.然后各个击破,另外,针对有些是Web项目的导入eclipse之后成为Java project,也能通过修改.setting里面的xml文件解决.

posted on 2011-10-13 15:50  七月逆流  阅读(1337)  评论(0编辑  收藏  举报