我正在创建一个Java应用程序,我正在使用Jpackage为以下目的创建必要的应用程序安装包:https://docs.oracle.com/en/java/javase/14/index.html
我的应用程序需要一个相当大的字典(大约1GB)才能运行。使用该应用程序时,用户可以编辑此词典并提供自己的词典。
当前,我将字典包含在应用程序的源目录中,以便将其包含在应用程序安装中。安装完成后,我将使用以下args将字典加载到应用程序中:
System.getProperty("user.dir") + "resources/dictionary.txt"
因此将从Applications/MyApp/resources
文件夹中加载字典。
但是,我不希望将字典存储在/Applications
目录下,因为我知道读写该根目录可能存在权限问题。
我希望从Library/Application Support/MyApp
加载字典,但是我不知道如何在安装后将字典移动到那里。
我知道还有其他一些安装管理器允许运行预安装脚本。安装后,有什么方法可以将我的应用程序字典文件移动到正确的应用程序支持库?还是需要使用某种预安装脚本来手动创建Library/Application Support/MyApp
目录并在字典文件上进行复制?
我目前正在运行时检查Library/Application Support/MyApp
并创建它(如果不存在),然后从Applications文件夹中读取字典,然后将整个字典重新写入新的Applicaiton Support文件夹。这是一个骇人听闻的解决方案,似乎无法扩展。