Похоже, что Eclipse ожидает найти класс, который он генерирует в команде "Externalize Strings ...":
package com.foo.bar;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public class Messages {
private static final String BUNDLE_NAME = "com.foo.bar.messages"; //$NON-NLS-1$
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
private Messages() {
}
public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
}
На самом деле, покопавшись немного глубже, я обнаружил, что Eclipse действительно хочетследующее:
private static final String BUNDLE_NAME = "com.foo.bar.messages"; //$NON-NLS-1$
public static String getString(String key) {
...
}
Пакет "com.foo.bar" должен содержать файл "messages.properties".Вы можете запустить «Поиск разбитых внешних строк» в любом исходном файле (или в пакете), в который вы добавили эти строки.