Jakarta ee 如何访问部署到weblogic的其他文件

Jakarta ee 如何访问部署到weblogic的其他文件,jakarta-ee,deployment,weblogic-10.x,Jakarta Ee,Deployment,Weblogic 10.x,我有一个EJB,它使用额外的资源文件,文本模板文件放在一个名为templates的目录中。我不知道如何从JavaEE应用程序访问templates目录的内容 我尝试将目录作为EarContent/templates或EarContent/APP-INF/lib/templates文件夹放置在EAR项目中。该目录按预期部署到weblogic域中。我在weblogic域的文件结构中搜索它。 但是,当我想要访问这些文件时,所有资源路径似乎都是相对于weblogic域根目录的,而不是相对于部署的应用程序

我有一个EJB,它使用额外的资源文件,文本模板文件放在一个名为templates的目录中。我不知道如何从JavaEE应用程序访问templates目录的内容

我尝试将目录作为EarContent/templates或EarContent/APP-INF/lib/templates文件夹放置在EAR项目中。该目录按预期部署到weblogic域中。我在weblogic域的文件结构中搜索它。 但是,当我想要访问这些文件时,所有资源路径似乎都是相对于weblogic域根目录的,而不是相对于部署的应用程序的。因此

URL dirURL = this.getClass().getClassLoader().getResource("templates");
返回file://templates,

File file = new File("templates");
在/模板中打开文件(如果有)

如何正确访问其他资源文件

编辑:我发现,当我将templates目录作为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/

我花了很多时间在谷歌上搜索和试验,但除了将目录放入/EarContent/APP-INF/classes/文件夹之外,我没有找到其他方法。另一种解决方案,即使在weblogic文档中含糊不清地提出,比如在MANIFEST.MF文件中设置类路径,也不起作用


我还测试了将模板目录放在单独的实用程序项目中的可能性。模板目录必须放在/src/文件夹中。但是,在开发环境中,模板目录被部署为常规目录,而当导出到EAR中时,模板目录被打包到utility project.jar中。当部署到Weblogic服务器上时,此.jar未解压缩,因此您无法将模板文件作为常规文件访问,尤其是无法枚举它们。

将其放在ear中包含的war的根上下文中如何?我已编辑了我的问题。我不需要从web访问该文件夹,而是从EJB.P.S。放置在/EarContent/APP-INF/classes/中的模板目录在IDE中可见。您不能从其他地方将其拖放到WLW IDE中。您必须在文件管理器中移动它。