spring - MissingResourceException: Can't find bundle base name -
when running jar file created maven project such:
java -jar basictool.jar
i error exception:
exception in thread "main" java.lang.reflect.invocationtargetexception @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.eclipse.jdt.internal.jarinjarloader.jarrsrcloader.main(jarrsrcloader.java:58) caused by: java.util.missingresourceexception: can't find bundle base name com/kit/version, locale en_us @ java.util.resourcebundle.throwmissingresourceexception(unknownsource) @ java.util.resourcebundle.getbundleimpl(unknown source) @ java.util.resourcebundle.getbundle(unknown source) @ com.factories.factoryimpl.<init>(factoryimpl.java:80) @ com.parsers.basicparser.<init>(basicparser.java:32) @ com.parsers.fileparser.<init>(fileparser.java:76) @ com.tools.basictool.main(basictool.java:75) ... 5 more
i created jar file using maven jar creation wizard: right-click on project, select export > java > runnable jar file options
launch configuration: basictool - work
export destination: c:\users\victor\documents\basictool.jar
library handling: package required libraries generated jar
the version.properties file kept inside of src/main/resources
, com/kit/version.properties
.
i have checked version.properties file found inside of jar file running:
jar tf basictool.jar > output.txt
where find version.properties file such:
resources/com/kit/version.properties
i attempt load resource this:
resourcebundle.getbundle("com/kit/version");
my machine , environment specifications followed: windows 7, spring version: 3.7.2.
note: found many questions similar 1 have, answers have found point properties file being named or placed in correct location. answers learned version.properties fine, since resourcebundle.getbundle("com/kit/version")
first version.class version.properties default. version_en_us.properties before looking base name version.properties. seem in line above, since file version.properties in correct location , named correctly. seem in line other answers have offered :(
i point out finds resource fine when run program spring, brings me suspect jar's creation process cause of problem.
and important note properties file in maven project.
i hope offered enough/clear details. appreciated, thank in advance!
if application calls resourcebundle.getbundle("com/kit/version");
in eclipse works fine.
but when create jar file in way described (export -> java -> runnable jar), version.properties
placed within jar file @ resources/com/kit/version.properties
. mind "resources" in front of path.
if call jar java -jar basictool.jar
outside eclipse version.properties
cannot found , java.util.missingresourceexception
is thrown.
if change path , call resourcebundle.getbundle("resources/com/kit/version");
won't work within eclipse java -jar basictool.jar
do.
it seems exporting project eclipse causes problem.
i suggest create jar file use without eclipse maven-assembly-plugin.
example can found here. plugin creates jar file without resources
directory , call of resourcebundle.getbundle("com/kit/version");
works within and outside of eclipse.
Comments
Post a Comment