我试图通过.war
文件将项目部署到JBoss后获取项目中文件的文件位置。该程序公开了几个Web服务(使用SOAP)。
以下是Eclipse中的目录结构:
ProjectName
|-Java Resources
|-src
| +package.one
| +package.two
| ...
|-docs
| myFile.xsd
| otherFile.xml
|-WebContent
|+META-INF
|-WEB-INF
| +lib
| web.xml
|index.jsp
通常情况下,如果我在package.one
内有一个Java类,则myFile.xsd
的文件路径为../ProjectName/docs/myFile.xsd
。如果我编写main
方法,这可以正常工作。
然而,一旦我在JBoss上部署了这个项目,就无法找到该文件。 JBoss开始查看其bin
文件夹。实际项目部署到{wildflyHome}/standalone/deployments/ProjectName.war
。所以我不确定为什么要查看bin
文件夹。
我在尝试访问myFile.xsd
时遇到此错误:
08:36:47,908 ERROR [stderr] (default task-3) org.xml.sax.SAXParseException; schema_reference.4: Failed to read schema document 'file:/C:/Users/Flow/Documents/Tools/wildfly-10.0.0.Final/bin/../ProjectName/docs/myFile.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
我根除了选项2和3,因为如果没有像上面提到的那样部署在服务器上,它的工作完全正常。
如何在服务器上访问该文件?
答案 0 :(得分:0)
所以经过很长一段时间的努力,我终于放弃了,只是将文件放在bin
文件夹中。
我在bin
文件夹中创建了一个文件夹。从那里文件路径只是folder/file.ext
。