2009-10-22 60 views
-1

我正在開發一個需要訪問項目文件夾中的文件的Jboss Web服務。當我部署Web服務時,它會創建一個.jar文件夾,但該文件夾不會進入它,即使我將它添加到構建路徑中。如何將jboss文件夾部署到jar中?

我如何告訴JBoss的文件夾放置的.jar內?

在此先感謝。

+0

這是不是一個真正的JBoss的問題,這是一個什麼樣的部署Web服務的問題。 JBoss提供你給它的東西,部署通過其他東西(我假設你的IDE)發生。 – Yishai 2009-10-22 15:24:57

+0

Yishai是對的:你用什麼工具創建JAR? – 2009-10-22 15:34:08

+0

那麼我使用Eclipse伽利略。我只是告訴eclipse部署該項目。我製作了application.xml文件,因爲我需要外部的.jar文件,但是我沒有找到指定文件夾的標籤 – nunolourenco 2009-10-22 15:40:06

回答

1

我認爲,因爲你明確地說你的web服務是ejb端點的「jar」,而不是基於JAX-RPC servlet的web服務(因爲那些會打包在一個.war中)。

與Servlet不同,它們能夠在項目內部找到文件(只要您可以將它們的位置表示爲Web文件夾的偏移量,就可以使用ServletContext的getRealPath()來確定實際位置)EJB沒有任何「自動」概念目錄

所以,即使你能說服Eclipse來爲您部署的文件,我懷疑它會幫助你很多

編輯: 在Web歸檔(的.war)裏面的一切web文件夾可以在運行時通過前面解釋的機制被servlet訪問。但是請注意,web內的文件可以通過web界面訪問,exc ept那些在WEB-INF文件夾內的,所以我建議至少將你的文件存儲在WEB-INF的子目錄中。

在一個更全球範圍內,你也應該問自己一個問題,如果你真的必須部署與應用這些文件 - 以及與每個重新部署重新部署它們。在這種情況下,一種解決方案是在服務器上創建一個目錄(比如c:/ applicationfiles),創建一個JVM選項,例如-Dserverfilestore = c:/ applicationfiles並讓你的應用程序確定該目錄與

String storebase=System.getProperty("serverfilestore"); 

其餘的應該是非常明顯的。這個解決方案也可以和你一起使用EJB服務。

+0

是的,我正在使用EJB端點。所以如果我想要一個文件夾,我需要使用JAX-RPC,它將被部署爲.war,對吧? – nunolourenco 2009-10-22 16:10:46

+0

是的,我知道。這是我所做的第一個解決方案。但是這個項目是我正在學習的一門課程,我並沒有覺得老師這樣做有禮貌。但是,謝謝。 – nunolourenco 2009-10-22 16:51:05

+0

如果你對答案感到滿意,你應該接受它。 – fvu 2009-10-22 19:40:15

相關問題