[英]MissingResourceException: Can't find bundle for base name when running JAR
I made a maven spring-boot project using Spring Initializr and added the basic dependencies like starter-web, tom-cat-jasper, dev-tools and etc.. then imported it in Eclipse.
然后我在我的本地存儲庫中添加了一個新的外部 JAR 不是來自 maven 存儲庫使用
mvn install:install-file
並在 pom.xml 中添加了新的依賴項
<dependency>
<groupId>com.domain.project</groupId>
<artifactId>resourceName</artifactId>
<version>1</version>
</dependency>
這個外部 JAR 有一個需要添加的屬性才能連接到數據庫。 我將 this.properties 文件放在src/main/resources中並測試了外部 JAR 中的方法,它按 Eclipse Z581D6381F3F35E4F96D77201ACF87B 中的預期工作。
在此之后,我將項目運行為 Maven 構建目標:全新clean install
,以便它可以作為可執行文件 JAR 運行。
然后我運行 JAR 並使用 a.bat 文件start java -jar
一切正常,但每當我使用來自外部 JAR 的方法時,它通過 GET/POST 請求給出錯誤:
java.util.MissingResourceException: Can't find bundle for base name resourceName, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1581) ~[?:1.8.0_241]
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396) ~[?:1.8.0_241]
at java.util.ResourceBundle.getBundle(ResourceBundle.java:782) ~[?:1.8.0_241]
at com.domain.project.vitality.VitalityInfo.VitalityInfoDetails(VitalityInfo.java:28) ~[resourceName-1.jar!/:?]
這是外部 JAR 的名稱:resourceName.jar 和所需的屬性文件:resourceName.properties。
如果我在 Eclipse IDE 的src/main/resources中重命名或刪除 required.properties 文件,我也會遇到此錯誤。
If I run the project only in Eclipse IDE and access the said external JAR methods via GET/POST request it gives the usual JDBC SQL error.
每當我使用 maven 構建時,我該如何解決這個問題,非常感謝任何幫助?
編輯:這是使用 maven 構建時可執行 JAR 的jar tf
的結果。
BOOT-INF/classes/application.properties
BOOT-INF/classes/resourceName.properties
BOOT-INF/classes/log4j2-spring.xml
編輯:問題已解決。
原來解決方案相當簡單。
在我的情況下,外部 JAR 在其實現中具有此功能
ResourceBundle bundle = ResourceBundle.getBundle("resourceName");
我把它改成了
ResourceBundle bundle = ResourceBundle.getBundle("application");
只需將 resourceName.properties 文件重命名為 application.properties 或將 resourceName.properties 中的內容復制到您的 application.properties 或 spring-boot 能夠讀取的任何屬性文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.