无法在META-INF目录中找到XML文件

时间:2013-03-01 15:46:29

标签: eclipse web-services tomcat xfire

我已经设置了一个我正在尝试在Eclipse中调试的Web服务。

它有一个像这样的目录结构:

  

Root /
   + src
   + META-INF
   + WEB-INF

META-INF目录中,有一个文件夹\xfire\services.xml

当我启动服务器时,出现以下错误:

java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist

当我从 sysinternals 运行procmon.exe时,我发现我在以下路径上发现了“未找到路径”错误:

  • C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\META-INF\xfire\services.xml
  • C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MyWebService\WEB-INF\META-INF\xfire\services.xml
  • C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MyWebService\WEB-INF\classes\META-INF\xfire\services.xml

文件存储在:

  • C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MyWebService\META-INF\xfire\services.xml

我做错了什么?

2 个答案:

答案 0 :(得分:2)

我有一个问题,META-INF文件夹必须保留在WEB-INF中...这样,你可以保留正常的文件夹。 试试这个...

<servlet>
   <servlet-name>XFire</servlet-name>
   <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
   <init-param>
      <param-name>config</param-name>
      <param-value>../META-INF/xfire/services.xml</param-value>
   </init-param>
</servlet>

强制所需文件的位置。在这种情况下,我使用&#34; .. \&#34; 上升一级。这可以在 web.xml

中完成

答案 1 :(得分:0)

看起来像getRessources()用于读取你的xml,所以文件需要在类路径中。

只需在您的项目源目录中移动或复制META-INF(我猜src或src / main ...)。