Как вы можете упаковать ObjectDB в исполняемый файл JAR?
Я хотел знать, возможно ли включить файл базы данных ObjectDB .odb
в работающей банке.
Метод:
EntityManagerFactory emf = Persistence.createEntityManagerFactory(path);
принимает путь String в качестве аргумента, а не URL. Это означает, что getResource()
не работает. Ни один не делает getResource.getPath()
а также getResource.toString()
работать, так как они каким-то образом показывают искаженное имя пути и во время выполнения файл базы данных создается вне файла JAR.
Поэтому мне было интересно, если это возможно для .odb
файл для создания внутри JAR и манипулирования внутри JAR.
2 ответа
Почему вы не можете скопировать свой ресурс во временную папку, используя, например:
FileUtils.copyURLToFile()
( http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html) И тогда вы можете использовать путь к файлу для копирования.
Временную системную папку для текущего пользователя вы можете найти по:
File tempDir = new File(System.getProperty("java.io.tmpdir"));
База данных ObjectDB должна быть файлом и не может быть ресурсом в файле.
Следование решению rsutormin кажется верным путем.