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

加载java.util.logging.config.file以进行默认初始化

颜黎昕
2023-03-14
问题内容

我正在尝试log.properties在应用程序启动时加载自定义文件。

我的属性文件与主类位于同一包中,因此我假定-Djava.util.logging.config.file=log.properties命令行参数应加载属性文件。

但是仅当我指定属性文件的完整绝对路径时才加载属性。任何建议如何使用相对路径?


问题答案:

Java日志记录不会在整个硬盘上搜索文件。有非常简单的规则来查找文件。您希望Java看到两个文件是彼此属于的,但是您在任何地方都没有这样说。由于Java看不到属性文件和您的类之间的任何连接,除了它们在磁盘上的同一文件夹中之外,因此找不到该文件。

-Djava.util.logging.config.file=log.properties仅当文件log.properties位于Java进程的当前目录中时才有效(可以是非常随机的)。因此,您应该在此处使用绝对路径。

另一种解决方案是将文件logging.properties移入$JAVA_HOME/lib/(或编辑应存在的文件)。在这种情况下,您无需设置System属性。



 类似资料:
  • 考虑以下代码 VS2013编译器发出以下警告: 警告C4351:新行为:数组“B::member”的元素将默认初始化1 这里有记载 使用C 11,并应用“默认初始化”的概念,意味着B. part的元素将不会被初始化。 但我认为,成员{}应该执行值初始化,而不是默认初始化。VS2013编译器是否损坏? 8.5美元/6 默认初始化类型为T的对象意味着:-如果T是(可能是cv限定的)类类型(第9条),则

  • 我在Visual Studio2019中有一个Xamarin表单解决方案。我现在只使用Android版本。完整的错误是: 在此进程中,java.lang.IllegalStateException Message=Default FirebaseApp未初始化AppCardView.Sample.android。确保首先调用FirebaseApp.InitializeApp(上下文)。 在我的An

  • 我创建了一个新的项目,并通过firebase的android studio工具添加了firebase。按照指示做了一切,但我在午餐时得到了这个错误的应用程序。 MainActivity.java是 而gradle.build是 项目级分级。Build 在网上找不到任何东西!已添加,这在任何说明中都没有,但在模拟器和设备上仍然存在相同的错误。

  • 根据我的参考,基元类型具有默认值,对象为null。我测试了一段代码。 行将是指向变量的错误,表示,而在给定引用中,将作为默认值。但是,使用下面给定的代码,它将实际打印。 第一个代码可能会出什么问题?类变量的行为是否与局部变量不同?

  • 我正在开发一个Android程序,使用Firebase数据库,但我现在有问题。 这是我的代码主要活动:

  • 问题内容: 众所周知,根据JLS7 p.4.12.5, 每个实例变量均使用默认值初始化。例如(1): 但是我一直认为,这样的类实现(2): 绝对等于示例(1)。我期望,复杂的Java编译器会看到(2)中的所有这些初始化值都是多余的,并忽略了它们。 但是突然对于这两个类,我们有两个不同的字节码。 例如(1): 例如(2): 问题是: 为什么?但这是显而易见的要优化的事情。什么原因? UPD: 我使用