java - 当我尝试在这个简单的 Java 批处理程序中检索 .properties 文件时,为什么会出现此异常?

标签 java properties-file resourcebundle

我正在处理 Java 批处理,发现以下问题。

在我的代码中,我有这样的内容:

public class StartScaricoRol {

    private static final String RESOURCE_FILE_PATH = "java.com.fideuram.batch.rol.resource.settings";

    public static void main( String[] args ) {

        myResources = ResourceBundle.getBundle( RESOURCE_FILE_PATH );

        ..............................................................
        ..............................................................
        ..............................................................
}

其中java.com.fideuram.batch.rol.resource.settings应该代表我项目的java.com.fideuram.batch.rol.resource包内的settings.properties文件,事实上我有这个项目结构:

enter image description here

问题是当执行此行时:

myResources = ResourceBundle.getBundle( RESOURCE_FILE_PATH );

抛出以下异常:

java.util.MissingResourceException: Can't find bundle for base name java.com.XXX.batch.rol.resource.settings, locale it_IT
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
    at com.XXX.batch.rol.StartScaricoRol.main(StartScaricoRol.java:44)
为什么?怎么了?我缺少什么?我该如何解决这个问题?

最佳答案

将资源放在目录 src/main/resources/my.package.name 中,以便 Maven 找到并将其复制到正确的位置

关于java - 当我尝试在这个简单的 Java 批处理程序中检索 .properties 文件时,为什么会出现此异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38126611/

相关文章:

rest - 如何使用属性文件设置 jersey 和 swagger-ui 以设置 url 变量?

msbuild - 如何在编译时将正确的版本信息注入(inject)到资源中?

java - 在类路径上找不到资源目录

java - 与 Oracle DB 连接时网络适配器无法建立连接

Java Card游戏程序中途停止

java - 有没有办法在 Eclipse 中重构整个项目中的属性文件键?

linux - Bash 脚本属性文件在变量名中使用 '.'

java - Struts application.properties 文件不支持重音字符

ios - CoreData : warning: Unable to load class named 'WEEReadings' for entity 'Readings' . 找不到类,改用默认的 NSManagedObject

java - Jersey 使用什么样的日志记录以及如何使用 Logback 拦截它?