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.missingresourceexceptionis 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

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -