我有一個使用額外資源文件(位於名爲「templates」的目錄中的文本模板文件)的EJB。我不知道如何從Java EE應用程序訪問「模板」目錄的內容。如何訪問部署到weblogic的其他文件
我試着將目錄作爲EAR項目中的「EarContent/templates」或「EarContent/APP-INF/lib/templates」文件夾。按預期將該目錄部署到weblogic域中。 (我在weblogic域的文件結構中搜索它)。 但是,當我想要訪問這些文件時,所有資源路徑似乎都是相對於weblogic域根目錄而言的,而不是相對於已部署的應用程序。因此
URL dirURL = this.getClass().getClassLoader().getResource("templates");
返回 「文件:/ <domain_root> /模板」,
File file = new File("templates");
將打開 「<domain_root> /模板」 文件(如果有的話)。
如何正確訪問其他資源文件?
編輯:我發現當我把「模板」目錄作爲「EarContent/APP-INF/classes/templates」放到EAR項目中時,上面提到的代碼片段都找到了它。但是「classes」目錄不適合將「templates」目錄放入...(至少因爲IDE在此目錄中過濾非.class文件並且不顯示它)。
編輯:我一直在玩它一點。使用FileMon,我發現weblogic完全忽略了MANIFEST.MF類路徑中指定的目錄。我已經嘗試了EJB和EAR清單,並且weblogic甚至不嘗試查看清單中指定的路徑。
Manifest-Version: 1.0
Class-Path: APP-INF/
把它放在耳朵裏所包含的戰爭的根源環境中怎麼樣? – BigMike 2012-03-30 14:14:09
我編輯了我的問題。 我不需要從Web訪問文件夾,而是從EJB訪問文件夾。 – xarx 2012-03-30 14:40:13