Вам нужно либо создать необходимые папки как часть процесса установки, либо ограничить ввод-вывод папками, к которым у вас есть доступ (домашняя папка пользователя и временная папка). Обратите внимание, что в 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
person
Eelke
schedule
07.04.2011