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

在.jar之外访问属性文件?

韩欣怿
2023-03-14
问题内容

我正在整理一个.jar文件。我想创建一个非常简单的.properties文件,其中包含诸如用户名和其他内容之类的可配置内容,以便他们可以手动编辑,而不必包括GUI编辑器。

我想做的是能够按此顺序搜索:

  1. 指定的属性文件(args[0]
  2. 当前目录(调用Java的目录)中的MyApp.properties
  3. 用户目录中的MyApp.properties(user.home系统属性?)
  4. 存储应用程序.jar的目录中的MyApp.properties

我知道如何访问#1和#3(我认为),但是如何确定运行时#2和#4?


问题答案:

#2是“
user.dir”
系统属性。#3是“
user.home”属性。

#4不管您如何处理都是一点点麻烦。如果您是从JAR加载的类不在系统类路径上,则这是一种替代技术,该技术可以工作。

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
  URL url = new URL(src.getLocation(), "MyApp.properties");
  ...
} 
else {
  /* Fail... */
}


 类似资料:
  • 问题内容: 我有一个JAR文件,我的所有代码都已存档以便运行。我必须访问一个属性文件,每次运行前都需要对其进行更改/编辑。我想将属性文件保留在JAR文件所在的目录中。无论如何,有没有告诉Java从该目录中提取属性文件? 注意:我不想将属性文件保留在主目录中或在命令行参数中传递属性文件的路径。 问题答案: 因此,你希望将与主/可运行jar相同文件夹中的文件视为文件,而不是作为主/可运行jar的资源。

  • 我在网络空间自由 17.0.0.4 上运行。部署了位于 目录下的 Web 应用程序和自定义身份验证模块。该jar文件被标记为服务器.xml文件中的。以下是它在服务器中的外观.xml 现在的问题是,我想使用文件位于文件到Web应用程序。 已尝试访问以下代码片段: 但是,两者都不起作用。 知道如何访问位于库jar文件中的属性文件吗?

  • 在阅读了关于这个主题的大约50个不同的线程后,我还没有能够有任何解决方案工作。 我正在尝试访问JAR中的config.properties文件。 null null file.jar MyApp 此处的files.class 等… icon.jpg config.properties

  • 我正在使用Spring、Logback和Maven。我想把我的所有设置的属性,这将在jar之外,我用Maven构建。因此,我将所有设置从logback.xml中移走。现在看起来像: 更新:没有错误。一切都很好。我可以改变所有的设置与运行在IDE。所以我相信我在maven Build上做了一些错误的事情。

  • 问题内容: 我想做一些我认为并不困难的事情。 我有一个要打包为jar的应用程序,因为我有大约30个依赖项,并且我希望能够部署一个文件。 我有一些配置文件-一个属性文件和一个spring配置文件,以及我的log4 props文件- 我想在jar外部使用。我想我希望,如果我将它们与jar放在同一目录中,它将在运行时找到它们,但事实并非如此。 在开发过程中,我将这些文件放在eclipse项目的类路径的根

  • 问题内容: 在我的目标文件夹中,有2个文件夹,lib和conf。所有的属性文件都放在conf文件夹中,而jars放在lib foulder中。 在Spring Boot之前,我们在spring.xml中使用以下配置来使用@value 但是在spring启动中,我不知道如何在Java代码中执行相同的操作。 我尝试了以下操作,但是没有用 问题答案: 问题的标题和描述让我有些困惑。希望我不会再让你对我的