我正在开发一个Jboss Web服务,它需要访问项目文件夹中的文件。当我部署Web服务时,它会创建一个.jar,但该文件夹不会进入其中,即使我将其添加到构建路径中。
我如何告诉jboss将文件夹放在.jar中?
提前致谢。
答案 0 :(得分:1)
我假设,因为你明确地说“jar”你的web服务是ejb端点,而不是基于JAX-RPC servlet的webservices(因为它们将打包在.war中)。
与servlet不同,servlet有点能够在项目中找到文件(只要你可以将它们的位置表示为web文件夹的偏移量,你可以用ServletContext的getRealPath()来确定它的实际位置)EJB没有任何“自动“目录的概念。
所以即使你可以说服Eclipse为你部署文件,我怀疑它会对你有多大帮助。
编辑: 在web-archive(.war)中,servlet可以在运行时通过前面解释的机制访问web文件夹中的所有内容。请注意,Web内的文件可以通过Web界面访问,但WEB-INF文件夹中的文件除外,所以我建议至少将文件存储在WEB-INF的子目录中。
在更全球范围内,您还应该问自己是否真的必须在应用程序中部署这些文件,并在每次重新部署时重新部署它们。在这种情况下,一种解决方案是在服务器上创建一些目录(比如c:/ applicationfiles),创建一个JVM选项,例如: -Dserverfilestore = c:/ applicationfiles并让您的应用程序使用
确定该目录String storebase=System.getProperty("serverfilestore");
其余的应该是非常明显的。此解决方案也将与您一起使用EJB服务btw。