java应用程序从Eclipse运行时应该在哪里创建文件?

时间:2015-02-19 07:38:54

标签: java eclipse

当我的Java应用程序使用Eclipse的“运行应用程序”运行时,它需要创建在多次运行应用程序时保持不变的文件。将它们放在“目标”目录中是否可以接受?例如,workspace // target / database.db。

是否存在导致eclipse删除目标目录中所有文件的事件?

如果目标目录不是存放这些文件的好地方,那么它是个好地方?使用System.getProperty(“java.io.tmpdir”)会很尴尬,因为tmpdir位于不同的驱动器上,因为我需要在tmpdir中镜像工作区和项目的结构。

谢谢

2 个答案:

答案 0 :(得分:2)

清理项目时target目录被删除(mvn clean)。这使得这不是存储数据的最佳位置。你最好将它保存到System.getProperty("user.home"),或者将一个目录作为程序参数传递给评论中提到的SpaceTrucker,这也是一个很好的解决方案。

答案 1 :(得分:1)

我的建议是OSGi用户区(-user,用于特定用户的偏好等),或OSGi实例区域(-data,它是工作区的默认主页)。看一下this,然后向下滚动到" Locations",它解释了一下这些区域。

对于危险事件,只考虑-clean(Eclipse arg,而不是Maven目标)和部署过程。 -clean不应该触及持久文件,但仅适用于内部缓存,但您可能需要尝试以确保这一点。您的部署过程可能包括"删除安装目录的内容"加上"将新内容复制到安装目录",这将擦除默认放置在安装目录中的大多数区域。