Eclipse配置的備注
1:剛創(chuàng)建的eclipse無法import javax.servlet.http.*和import org.apache.*
這是由于缺少兩個文件。
在Eclipse中添加Servlet-api.jar的方法2009年04月12日 星期日 14:49方法一:
點(diǎn)擊窗口->***項->java->構(gòu)建路徑->類路徑變量->新建;
將你的tomcat目錄下的common/lib/servlet.jar加進(jìn)來。
如果你建立了一個tomcatproject它會自動加進(jìn)來的,如果沒有的話你也可以通過手動來加入,選中你剛才建的項目右擊->屬性->java構(gòu)建路徑->添加變量;將你剛才加入的servlet.jar變量加進(jìn)來就行了。
如何在Eclipse中添加Servlet-api.jar的方法
正確的加載servlet-api.jar的方法如下:
1:右擊項目工程名稱
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:添加既可
方法二:
窗口->***項->java -> 已安裝的jre -> 編輯 -> 添加外部的jar (把servlet-api.jar加進(jìn)來就ok了)
2:在eclipse中編譯代碼時遇上的"Building workspace"
Project->Build automatically自動構(gòu)建去掉就可以了
3:org.apache.struts2.jsf.FacesSetupInterceptor、java.lang.LinkageError: loader constraint violation2009-04-19 21:05開始學(xué)習(xí)java web開發(fā)了,看到blog上有一篇很好的文章“Struts+Spring+Hibernate整合入門詳解 Struts+Spring+Hibernate整合入門詳解 ”http://blog.csdn.net/princewong/archive/2007/08/12/1739598.aspx ,但是在eclipse中運(yùn)行文章中的例子時卻遇到了很多問題,這些問題在google上也沒有找到什么解決的辦法。通過自己的嘗試終于解決了,這里把問題的解決辦法記錄下來,以后再分析其中的具體原因吧。
軟件環(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)兩處錯誤。
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) ......
通 過網(wǎng)上搜集資料和自己探索,我將“項目工程目錄\WebContent\WEB-INF\lib”下的el-api.jar和struts2-jsf- plugin-2.0.11.jar刪除了,但是運(yùn)行后依然報錯。無計可施之時,突然發(fā)現(xiàn)上面問題1中有一個奇怪的目錄: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
( 我的項目工程目錄是F:\2.Eclipse\workspace\Test_1_Struts_Spring_Hibernate)
進(jìn)入電腦一看,果然在eclipse的workspace中有這樣一個目錄.metadate,里面居然有所有的項目工程目錄中的jar文件,應(yīng)該是編譯的時候自動復(fù)制過去的吧。而且雖然我之前將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個jar文件。難道是這里的兩個jar文件作怪。
刪除此目錄下的el-api.jar文件后,錯誤2消失。
刪除此目錄下的struts2-jsf-plugin-2.0.11.jar文件后,錯誤1消失。
例子運(yùn)行正常!問題解決!
總結(jié):
1、看來這兩個jar文件是不需要的。
2、workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/目錄下會有當(dāng)前wenb app的副本,注意維護(hù)一致性。
您正在閱讀的是:Eclipse配置的備注
【編輯推薦】