I'm getting the MissingResourceException when deploying on Heroku.
I have Spring boot app built on gradle.
Error logs:
Caused by: java.util.MissingResourceException: Can't find bundle for base name text, locale ua
2022-09-06T12:03:45.886746+00:00 app[web.1]: at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2045)
2022-09-06T12:03:45.886799+00:00 app[web.1]: at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1683)
2022-09-06T12:03:45.886836+00:00 app[web.1]: at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1586)
2022-09-06T12:03:45.886888+00:00 app[web.1]: at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1549)
2022-09-06T12:03:45.886923+00:00 app[web.1]: at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:932)
2022-09-06T12:03:45.886976+00:00 app[web.1]: at com.bootobooter.telegrambottemplate.growschoolbot.language.AvailableLanguage.<init>(AvailableLanguage.java:17)
2022-09-06T12:03:45.887020+00:00 app[web.1]: at com.bootobooter.telegrambottemplate.growschoolbot.language.AvailableLanguage.<clinit>(AvailableLanguage.java:8)
2022-09-06T12:03:45.887061+00:00 app[web.1]: ... 6 more
gradle build file
plugins {
id 'org.springframework.boot' version '3.0.0-M3'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.boot-o-booter'
version = '0.0.1'
sourceCompatibility = '18'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
//Spring
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web:2.7.3'
//Telegram
implementation 'org.telegram:telegrambots:6.1.0'
implementation 'org.telegram:telegrambots-abilities:6.1.0'
//Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//Test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
//sourceSets {
// main.output.resourcesDir =
//}
Resource bundle loader class code
package com.bootobooter.telegrambottemplate.growschoolbot.language;
import java.util.Locale;
import java.util.ResourceBundle;
public enum AvailableLanguage {
UA(new Locale("UA")),
ENG(new Locale("ENG")),
RU(new Locale("RU"));
final Locale locale;
final ResourceBundle bundle;
AvailableLanguage(Locale locale) {
this.locale = locale;
this.bundle = ResourceBundle.getBundle("text", locale);
}
}
Project structure
I've been trying a lot of things like moving files into the classpath, plying with the Procfile and e.t.c
Hope that you guys know what can be wrong, thanks in advance!