【问题标题】:Glassfish cannot find my file - FileNotFoundExceptionGlassfish 找不到我的文件 - FileNotFoundException
【发布时间】:2016-03-05 21:22:01
【问题描述】:

我正在使用 Netbeans 8.1 和 Glassfish 4.1 创建一个 RESTful Web 服务。我已经使用 Maven Web 应用程序创建了一个服务器应用程序。

我正在使用发送 XML 请求并从服务器返回 XML 响应的客户端。我的服务器项目中有一个FoodItemData.xml 文件,每次从客户端发出请求时我都会读取该文件。

我已将FoodItemData.xml 文件存储在

project_name -> src -> 资源 -> FoodItemData.xml

我的项目。

每当我运行我的服务器应用程序时,Glassfish 都会抛出以下错误:

严重:java.io.FileNotFoundException: E:\GlassFish\glassfish-4.1.1\glassfish\domains\domain1\config\src\resources\FoodItemData.xml(系统找不到指定的路径)

如果我在 Glassfish 的 'config' 目录中的路径 src/resources/FoodItemData.xml 创建文件,错误就会消失。 我的 Glassfish 'config' 目录默认没有 src/resources/FoodItemData.xml 文件。

我的问题是,有什么方法可以让服务器应用程序自动创建它?因为我要在不同的系统上运行这个服务器应用程序,所以我不能总是在 Glassfish 目录中手动创建文件夹。

快速帮助将不胜感激。谢谢!

【问题讨论】:

    标签: xml rest maven netbeans glassfish


    【解决方案1】:

    通常,您不应该将资源数据放在域配置目录中。

    至于你的问题,你有一些选择,但这将取决于你究竟在用这个 xml 做什么。您可以将此目录+文件添加到您的 WEB-INF 目录。 Here is a good explanation of how that would work.

    您还可以在 Java 中创建一个适配器类(这将被任何需要访问文件的服务或函数使用,并且您可以确保只有这个类正在访问该文件)如果它丢失,它将创建目录+文件在您的 domain1 根目录中。在启动时完成它的一种简单方法是在静态块中(可以在将类加载到内存时创建目录)。

    最后,如果您使用的是运行 asadmin 命令的部署脚本,您可以使用相同的脚本检查以确保该目录存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多