2016-10-29 9 views
1

Я хотел знать, можно ли включить файл базы данных ObjectDB .odb в runnable JAR.Как вы можете упаковать ObjectDB в runnable JAR-файл?

Метод:

EntityManagerFactory emf = Persistence.createEntityManagerFactory(path); 

принимает путь String, в качестве аргумента, а не URL. Это означает, что getResource() не работает. Также не работают getResource.getPath() и getResource.toString(), так как они каким-то образом показывают искаженное имя пути, и во время выполнения файл базы данных создается за пределами файла jar.

Так что мне было интересно, можно ли создать файл размером .odb внутри JAR и манипулировать его в JAR.

ответ

1

Почему вы не можете скопировать ваш ресурс во временную папку, используя, например:

FileUtils.copyURLToFile() 

(http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html#copyURLToFile%28java.net.URL,%20java.io.File%29)? И затем вы можете использовать путь к файлу для копирования.

Временная папка системы для текущего пользователя можно найти по:

File tempDir = new File(System.getProperty("java.io.tmpdir")); 
0

База данных ObjectDB должен быть файл и не может быть ресурсом в файле.

Следующее решение rsutormin кажется правильным путем.

 Смежные вопросы

  • Нет связанных вопросов^_^