![](/img/trans.png)
[英]Why can't I see an image inside the WEB-INF/classes directory in Tomcat?
[英]Why can't Tomcat/JSP see these classes?
我正在嘗試在Tomcat 7.0.14上使用JSP和Java編寫Web應用程序,其中一部分涉及使用Hibernate連接MySQL服務器。
這是我的目錄結構的基本視圖:
apache-tomcat-7.0.14
|- webapps
|- ROOT
|- WEB-INF
| |- classes
| | |- some-package-path
| | \- foo.java
| | \- foo.class
| |- lib
| \- hibernate3.jar
\- file_giving_issues.jsp
現在,正如您可能已經猜到的那樣,“file_giving_issues.jsp”是給我提問的文件。 它無法看到各種hibernate jar文件中包含的類。 我使用了以下聲明:
<%@ page import="org.hibernate.Session" %>
在這里,Tomcat告訴我,
Only a type can be imported. org.hibernate.Session resolves to a package.
順便說一下,這不是真的; Session肯定是一個類型,而不是一個包,它就在那個hibernate3.jar
。 更具體地說,它存在於:
WEB-INF/lib/hibernate3.jar/org/hibernate/Session.class
但我想我會玩球並從org.hibernate導入所有內容,如下所示:
<%@ page import="org.hibernate.*" %>
更令人費解的是,Tomcat現在告訴我,
Session cannot be resolved to a type.
所以,我有點失落。 我不確定Tomcat的配置方式,或者我的類目錄結構是否存在問題,或者我是否不了解JAR的工作方式,或者是什么。 根據我的理解,WEB-INF / lib中的JAR文件應始終位於Tomcat的Classpath上,而WEB-INF / classes / some-package-path中的那些文件工作正常,所以我迷路了。
任何幫助,將不勝感激。
Only a type can be imported. XXXXX resolves to a package.
以上通常意味着容器無法找到類文件。
你能看出你是否能夠進口其他罐子或類? 我的意思是,調試; 創建一個簡單的hello world JSP並導入一些自定義類,看看是否可以使用它。
另外,確認Session類確實存在於lib目錄中的一個jar中。
除了hibernate之外,你在WEB-INF / lib中還有其他JAR嗎? 我有一個類似的問題:tomcat沒有在WEB-INF / lib中看到JAR,但在全局lib目錄中使用相同的文件。
在我的例子中,我從WEB-INF / lib中刪除了一些未使用的遺留文件,它突然開始工作了。
看來,tomcat不會從WEB-INF / lib加載一些文件(例如,它會抱怨任何帶有javax.servlet類的文件),並且會默默地忽略其他文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.