当前位置: 首页 > 面试题库 >

更新捆绑的资源文件

顾永福
2023-03-14
问题内容

我正在做以下事情

String str = "this is the new string";
URL resourceUrl = getClass().getResource("path_to_resource");
File file = new File(resourceUrl.toURI());
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(xml);
writer.close();

在上面的代码中,我试图写入一个Java包中包含的资源文件。执行完代码后,我的程序可以正常运行,但是该文件只是更新web-
INF中的属性文件,而不是将其更新到存储它的包中。谁能帮我弄清楚我该如何实现这一目标,或者我在这里做错了什么?非常感谢。


问题答案:

您不应该尝试写入与应用程序类一起存储的文件。根据应用程序服务器的不同,您尝试写入的位置可能无法写入,或者应用程序可能正在从应用程序存档(.war文件)运行。

您应该使用一个外部文件夹来存储配置和其他应用程序数据。通常,您可以通过部署期间指定的环境变量或属性来指定此文件夹。



 类似资料:
  • 问题内容: 我有一个简单的应用程序,其中要求用户提供以下某些信息。 请提供您的域名。 **用户:www.google.com** 请提供您庞大的网址。 **用户:www.vast.xx.com** 请选择职位。a)左下。b)右下。 用户: b)右下 用户提供了这些信息后,按钮出现,用户单击以生成代码。他得到以下代码。 这是我完整的webpack配置文件:webpack config 使用此脚本,用

  • 我在一个普通的Java应用程序中使用两个OSGi框架。这两个框架都从共享目录加载捆绑包。 在一个包中,我从参考资料中加载了一个文件。我试过不同的方法 但我使用哪一个命令并不重要,一开始都很好。但是,在两个框架中执行了几个安装和卸载步骤之后。返回的InputStream为空。 如果只使用一个OSGi框架,我也可以正常工作。 经过一点调试,我发现包a得到了 指向正确的jar文件,但是当我在包的Bund

  • 我有一个问题,即发布APK构建失败。 背景:我遇到错误:无法从资产索引.android.bundle加载脚本 我为该问题找到的解决方案是:1.(在项目目录中)mkdir android/app/src/main/assets 2.react-native bundle --platform android --dev false --entry-file index.js --bundle-out

  • 玻璃鱼文档说: glassfish资源中定义了应用程序范围的资源。xml部署描述符文件。此文件位于模块或应用程序归档的META-INF目录中。 但是,情况似乎并非如此。当我这样做并将. jar文件部署到我的Glassfish 3.1.2服务器时,他抛出了几个异常,并说: 异常,而准备的应用程序:无效的资源:jdbc/maliv微信db-ds__pm 我的资源的JNDI名称实际上是“jdbc/mal

  • 目前我有一个全球文件,我在项目中定义我的资产,并在整个应用程序中使用它们。我有几个bundle,它们的所有资产都在这个全局不清晰且不好。 我想定义一个,每个捆绑包都有相应的资产。它们将位于bundle配置中。 我不知道如何使它们可用于整个应用程序。我应该以某种方式使用还是框架加载文件(哪个名称遵循某些约定)?我将不胜感激如何实现上述提示。 编辑:我应该多解释一点...在我的config.yml我导

  • 我使用跟随CloudFormation来创建堆栈 那是什么原因造成的呢?