我正在处理 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文件,事实上我有这个项目结构:
问题是当执行此行时:
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/