Я думаю, что понимаю вашу проблему.Ваше приложение сохраняет свое состояние в свой собственный файл JAR.тот факт, что вы используете SQLite и т. д. не имеет значения.Он работает из Eclipse, потому что в этом случае файлы классов и ресурсы не упаковываются в архив, и ваша программа легко меняет файлы в файловой системе.
Ответ: да, вы можете изменить файл jar программно.Баночка - это просто молния.Вы можете использовать ZipInputStream, ZipOutputStream, JarInputStream, JarOutputStream для изменения любого почтового индекса, включая ваш собственный.
Но это очень очень не рекомендуется по слишком многим причинам.Правильное решение - отделить ваши данные от вашего приложения.Вы должны хранить данные времени выполнения в файловой системе, БД и т. Д. Например, вы можете создавать файлы в домашнем каталоге пользователя.Это не зависит от платформы.Вы также можете использовать класс Preferences, который имеет переносимые реализации для всех платформ.
Еще одна причина сделать это - ваше требование создать exe.Хорошо, вы можете изменить файл jar, но как только вы создали exe-файл из вашего jar, вы больше не сможете его изменить.