Java 如何将文件文件夹部署到jboss的jar中?

Java 如何将文件文件夹部署到jboss的jar中?,java,jboss,jakarta-ee,Java,Jboss,Jakarta Ee,我正在开发一个JBossWeb服务,需要访问项目文件夹中的文件。当我部署web服务时,它会创建一个.jar,但该文件夹并不在其中,即使我将其添加到构建路径中 如何告诉jboss将文件夹放在.jar中 提前感谢。我假设,因为您明确地说“jar”,您的Web服务是ejb端点,而不是基于JAX-RPCServlet的Web服务(因为它们将打包在.war中) 与servlets不同,servlets在某种程度上能够在项目中查找文件(只要您可以将它们的位置表示为web文件夹的偏移量),您就可以使用Serv

我正在开发一个JBossWeb服务,需要访问项目文件夹中的文件。当我部署web服务时,它会创建一个.jar,但该文件夹并不在其中,即使我将其添加到构建路径中

如何告诉jboss将文件夹放在.jar中


提前感谢。

我假设,因为您明确地说“jar”,您的Web服务是ejb端点,而不是基于JAX-RPCServlet的Web服务(因为它们将打包在.war中)

与servlets不同,servlets在某种程度上能够在项目中查找文件(只要您可以将它们的位置表示为web文件夹的偏移量),您就可以使用ServletContext的getRealPath()EJB确定它们的真实位置,而没有任何“自动”的目录概念

所以,即使您能够说服Eclipse为您部署文件,我也怀疑它是否会对您有多大帮助

编辑: 在web存档(.war)中,Servlet在运行时可以通过前面介绍的机制访问web文件夹中的所有内容。但是请注意,web文件夹中的文件可以通过web界面访问,web-INF文件夹中的文件除外,因此我建议至少将文件存储在web-INF的子目录中

在更全局的范围内,您还应该问自己是否真的必须在应用程序中部署这些文件,并在每次重新部署时重新部署它们。这种情况下的一个解决方案是在服务器上创建一些目录(例如c:/applicationfiles),创建一个JVM选项,例如-Dserverfilestore=c:/applicationfiles,并让应用程序使用

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

剩下的应该是很明显的。这个解决方案也适用于EJB服务。顺便说一句。

这不是一个真正的jboss问题,这是一个什么部署了你的Web服务的问题。jboss接受你给它的东西,部署是由其他东西进行的(我假设你的IDE).Yishai是对的:您使用什么工具来创建JAR?我使用的是eclipse galileo。我只是告诉eclipse部署项目。我创建了application.xml文件,因为我需要外部的.JAR,但我没有找到任何指定文件夹的标记,我使用的是EJB端点。因此,如果我想要一个文件夹,我需要使用JAX-RPC,它将被删除被当作战争,对吧?是的,我知道。这是我做的第一个解决方案。但是这个项目是我正在学习的一门课程,我觉得这样做没有老师的礼貌。但是谢谢。