Вам необходимо либо создать необходимые папки как часть процесса установки, либо ограничить свой ввод-вывод папками, к которым у вас есть доступ (домашняя страница пользователя и временная папка). Обратите внимание, что в Linux есть стандартные места, где должно быть размещено много папок, и что администраторы будут недовольны приложениями, которые не соответствуют этим стандартам.
Можете ли вы сказать, какие файлы / папки вам нужны для каких целей?
Похоже, что причиной проблемы является различие в разделителе пути между Windows и Linux. В Linux вы должны использовать обычные слэши. В ошибке упоминается путь:
/home/javier\marauroa.trace.db
Поскольку \ не является разделителем пути, а является escape-символом, он пытается создать файл в папке / home, для которого у него нет разрешений.
Путь должен быть:
/home/javier/marauroa.trace.db
Возможно, вы захотите поместить файлы своих приложений в подпапку с именем .yourappname, чтобы она стала
/home/javier/.yourappname/marauroa.trace.db
Это то, что делают многие приложения Unix и скрывают это в обычных списках файлов. Чтобы получить разделитель пути для системы, в которой работает ваше приложение, вы можете использовать следующее статическое поле:
java.io.File.seperator