今天 我在网上下载了一个调用支付宝的web demo 但是在我成功导入并 build path 后 发现项目仍然有错误:
后来查询了好多帖子是配置文件的问题:解决步骤如今下:(网上的步骤)
打开Eclipse的工程目录的应用目录下找到.settings\org.eclipse.wst.common.component文件
在刚新建一个项目时,此文件下面的内容如下:<?xml version="1.0"encoding="UTF-8"?>
<project-modules id="moduleCoreId"project-version="1.5.0">
<wb-moduledeploy-name="webdemo">
<wb-resourcedeploy-path="/"source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes"source-path="/src"/>
<property name="context-root"value="webdemo"/>
<property name="java-output-path"value="/webdemo/build/classes"/>
</wb-module>
</project-modules>
发现少了一句<wb-resource deploy-path="/"source-path="/WebContent"/>,所以我们要手动把它加下,最后改正后的内容如下:
<?xml version="1.0"encoding="UTF-8"?>
<project-modules id="moduleCoreId"project-version="1.5.0">
<wb-moduledeploy-name="webdemo">
<wb-resource deploy-path="/"source-path="/WebRoot"/>
<wb-resource deploy-path="/WEB-INF/classes"source-path="/src"/>
<property name="context-root"value="webdemo"/>
<property name="java-output-path"value="/webdemo/build/classes"/>
</wb-module>
</project-modules>这样我们的eclipse web 项目又可以像以前一样运行,而且所有lib包下的jar也会自动存入Libraries/Web App Libraries目录下面。
但是我的解决办法是修改.settings\org.eclipse.wst.common.project.facet.core.xml
里边原来是:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v6.0"/>
<fixed facet="java"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
修改之后的:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v8.0"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="java"/>
<fixed facet="jst.web"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project>
发现原来是版本没对应上,在一个在.settings\org.eclipse.wst.common.component文件里的默认源路径是“WebRoot” :
<wb-resource deploy-path="/" source-path="/WebRoot"/> 这说明此项目有可能是在MyEclipse下的创建的
我们应该改为<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
问题就解决了