Eclipse配置的備注
1:剛創(chuàng)建的eclipse無(wú)法import javax.servlet.http.*和import org.apache.*
這是由于缺少兩個(gè)文件。
在Eclipse中添加Servlet-api.jar的方法2009年04月12日 星期日 14:49方法一:
點(diǎn)擊窗口->***項(xiàng)->java->構(gòu)建路徑->類(lèi)路徑變量->新建;
將你的tomcat目錄下的common/lib/servlet.jar加進(jìn)來(lái)。
如果你建立了一個(gè)tomcatproject它會(huì)自動(dòng)加進(jìn)來(lái)的,如果沒(méi)有的話你也可以通過(guò)手動(dòng)來(lái)加入,選中你剛才建的項(xiàng)目右擊->屬性->java構(gòu)建路徑->添加變量;將你剛才加入的servlet.jar變量加進(jìn)來(lái)就行了。
如何在Eclipse中添加Servlet-api.jar的方法
正確的加載servlet-api.jar的方法如下:
1:右擊項(xiàng)目工程名稱(chēng)
2:Properties
3: Jvav Build Path
4: Libraries
5: Add External JARS
6:找到“C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar”和jsp-api.jar
7:添加既可
方法二:
窗口->***項(xiàng)->java -> 已安裝的jre -> 編輯 -> 添加外部的jar (把servlet-api.jar加進(jìn)來(lái)就ok了)
2:在eclipse中編譯代碼時(shí)遇上的"Building workspace"
Project->Build automatically自動(dòng)構(gòu)建去掉就可以了
3:org.apache.struts2.jsf.FacesSetupInterceptor、java.lang.LinkageError: loader constraint violation2009-04-19 21:05開(kāi)始學(xué)習(xí)java web開(kāi)發(fā)了,看到blog上有一篇很好的文章“Struts+Spring+Hibernate整合入門(mén)詳解 Struts+Spring+Hibernate整合入門(mén)詳解 ”http://blog.csdn.net/princewong/archive/2007/08/12/1739598.aspx ,但是在eclipse中運(yùn)行文章中的例子時(shí)卻遇到了很多問(wèn)題,這些問(wèn)題在google上也沒(méi)有找到什么解決的辦法。通過(guò)自己的嘗試終于解決了,這里把問(wèn)題的解決辦法記錄下來(lái),以后再分析其中的具體原因吧。
軟件環(huán)境(和文章中提到的大體相同,只是版本新一些):
Java 6.0
eclipse 3.3.1
Struts 2.0.11
Spring 2.0.7
Hibernate 3.2.5
按照例子進(jìn)行操作,運(yùn)行例子后,eclipse的Console中出現(xiàn)兩處錯(cuò)誤。
1、嚴(yán)重: Actual exception
Caught Exception while registering Interceptor class org.apache.struts2.jsf.FacesSetupInterceptor - interceptor - jar:file:/F:/2.Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Test_1_Struts_Spring_Hibernate/WEB-INF/lib/struts2-jsf-plugin-2.0.11.jar!/struts-plugin.xml:36:97
at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:206)
at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:57)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:743)
......
2、嚴(yán)重: Servlet.service() for servlet jsp threw exception
java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
at org.apache.jsp.login_jsp._jspInit(login_jsp.java:22)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) ......
通 過(guò)網(wǎng)上搜集資料和自己探索,我將“項(xiàng)目工程目錄\WebContent\WEB-INF\lib”下的el-api.jar和struts2-jsf- plugin-2.0.11.jar刪除了,但是運(yùn)行后依然報(bào)錯(cuò)。無(wú)計(jì)可施之時(shí),突然發(fā)現(xiàn)上面問(wèn)題1中有一個(gè)奇怪的目錄:F:/2.Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Test_1_Struts_Spring_Hibernate/WEB-INF/lib/struts2-jsf-plugin-2.0.11.jar!/struts-plugin.xml:36:97
( 我的項(xiàng)目工程目錄是F:\2.Eclipse\workspace\Test_1_Struts_Spring_Hibernate)
進(jìn)入電腦一看,果然在eclipse的workspace中有這樣一個(gè)目錄.metadate,里面居然有所有的項(xiàng)目工程目錄中的jar文件,應(yīng)該是編譯的時(shí)候自動(dòng)復(fù)制過(guò)去的吧。而且雖然我之前將el-api.jar和struts2-jsf-plugin-2.0.11.jar刪除了,但是在F:/2.Eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Test_1_Struts_Spring_Hibernate/WEB-INF/lib/ 下仍然還有這2個(gè)jar文件。難道是這里的兩個(gè)jar文件作怪。
刪除此目錄下的el-api.jar文件后,錯(cuò)誤2消失。
刪除此目錄下的struts2-jsf-plugin-2.0.11.jar文件后,錯(cuò)誤1消失。
例子運(yùn)行正常!問(wèn)題解決!
總結(jié):
1、看來(lái)這兩個(gè)jar文件是不需要的。
2、workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/目錄下會(huì)有當(dāng)前wenb app的副本,注意維護(hù)一致性。
您正在閱讀的是:Eclipse配置的備注
【編輯推薦】