簡體   English   中英

Struts基本類加載問題

[英]Struts basic class loading issue

我有一個基本的Struts應用程序,目前只有一個操作 - 登錄。 我確認我正確設置了映射,然后想在其后面添加一個真實的操作(即驗證憑據的東西。

我創建了一個新項目,並在那里放入了身份驗證類,然后將該項目添加到我的Web項目的構建路徑中。 但是,現在當我嘗試調用我的操作時,我收到以下錯誤:

java.lang.ClassNotFoundException: com.mysite.data.managers.Authentication
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    com.mysite.struts.actions.LoginAction.execute(LoginAction.java:31)

從其他評論和之前的帖子中,我了解到雖然我的類可以編譯(它確實如此),但任何引用的類必須位於WEB-INF / lib中(可能位於jar文件中)。 當引用的類是第三方包含時,這是有意義的。

當引用的類是我的應用程序的一部分時(即我作為應用程序的一部分編寫的內容,但是在不同的項目中),沒有辦法通過構建路徑引用項目而不將項目作為jar導出並復制該jar到WEB-INF / lib(這意味着每當我對這些項目進行更改時,我需要重新打包類並再次導出)?

這個問題的后續行動是關於鏈接項目。 如果在項目A中有一個對項目B中的類的引用,那么我是否需要在WEB-INF / lib中包含這兩個項目?

這似乎是一個Eclipse問題而不是其他任何東西。 您沒有提到您正在使用的Eclipse版本或哪個Application Server,但讓我們看看是否有任何幫助。

在Project的屬性中,選中Deployment Assembly頁面。 源列表是否包含源文件編譯到的文件夾? 對於Eclipse Dynamic Web Project,該路徑通常是WEB-INF/classes 您的Struts罐子也在那里列出嗎?

對於您的后續問題,您還可以在該列表中包含其他項目。 我假設它會在Build Path設置中選擇Project“導出”的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM