java.util.MissingResourceException: Can't find bundle for base name org.jfree.chart.LocalizationBundle, locale en_USКстати, сообщение об исключении подробно говорит о том, что в пути к классам должен быть один из следующих файлов:
/org/jfree/chart/LocalizationBundle.propertiesили
/org/jfree/chart/LocalizationBundle_en.propertiesили
/org/jfree/chart/LocalizationBundle_en_US.propertiesТакже см. Собственный учебник Sun по пакетам ресурсов для получения дополнительной информации.
Но поскольку на самом деле это файл сторонних управляемых свойств, вам не следует создавать его самостоятельно. Он должен быть уже доступен в файле JAR JFreeChart. Поэтому убедитесь, что он доступен в classpath во время выполнения. Также убедитесь, что вы используете правильную версию, расположение файла свойств внутри дерева пакетов может измениться для каждой версии JFreeChart.
При выполнении файла JAR вы можете использовать аргумент
-cp
для указания пути к классу. Например :java -jar -cp c:/path/to/jfreechart.jar yourfile.jar
В качестве альтернативы вы можете указать путь к классу как запись
class-path
в файле манифеста JAR. Там вы можете использовать относительные пути, относящиеся к самому файлу JAR. не не используют переменную окружения%CLASSPATH%
, она игнорируется JAR и всем остальным, которые не выполняются сjava.exe
без-cp
,-classpath
и-jar
аргументы.
Одной из причин использования «одного файла на компонент» является отказоустойчивость . При запуске приложения установщик Windows может проверить, отсутствует ли путь keypath какого-либо компонента. Если ключевой путь отсутствует, компонент переустанавливается / ремонтируется.
Если компонент имеет несколько файлов, то только один файл может быть ключевым путем. В wix это указывается установкой KeyPath = yes
в элементе File . Тогда другие файлы не будут полностью защищены отказоустойчивостью установщика Windows. Они будут переустановлены только в том случае, если файл ключевого пути пропадет.
Еще одна причина иметь «один файл на компонент» - это установка файлов в места, где они могут уже присутствовать (например, при обновлении приложения или при установке на c: \ windows \ system32
). Установщик Windows определяет, нужно ли устанавливать компонент, проверяя путь к ключу. Если ключевой путь является файлом и файл уже существует (с той же версией или выше), то компонент не установлен . Это проблема, если другие файлы в компоненте действительно нужно было установить / обновить.