如何将.dic和.aff文件添加到java jar?

时间:2014-04-08 17:02:09

标签: java eclipse dictionary jar buildpath

我想知道是否有办法将.dic和.aff文件添加到java项目jar文件中(例如使用eclipse)?

我的代码中有一本词典:

    URL dicDic = CipherTextAttack.class.getResource("en_US");
    static Hunspell.Dictionary dict = Hunspell.getInstance().getDictionary(dicDic.toString());

我需要jar文件在任何地方运行而不需要en_US字典文件。 这可能吗?

1 个答案:

答案 0 :(得分:2)

是的,jar文件基本上是一个带有.jar扩展名的zip文件,因此您可以将任何文件放入存档中。然后,只要它在类路径中,您就可以从代码中访问该文件。一种简单的方法(但对于大型代码库来说不那么干净)是将文件放在与类文件相同的目录结构中。

要访问该文件,您可以在显示时使用Class.getResource(),给出相对于所用类的路径,并使用所用类的类加载器进行搜索。 因此,在您的用例中,最简单的可能是使用字典将文件放在与该类相同的目录中。例如,在你的代码是在MyClass中,你会写:

URL dicDic = MyClass.class.getResource("file.dic");

C.f。 javadoc of the method

然后在jar中添加文件,这将取决于您的工作流程以及构建项目的方式(使用Eclipse,ant,maven等)。例如,如果使用ant编译和打包项目,则构建文件中必须存在创建jar文件的jar任务。然后,您应该修改该任务以将dic文件包含在jar文件中。如有疑问,如果您无法找到现有答案,我建议您打开一个关于您的特定工具的单独问题。

在任何情况下,为了测试的目的,您只需使用Winzip或7-zip或您使用的任何zip文件管理器打开jar文件,并将dic文件添加到存档。