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



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

我的代码中有一本字典:

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

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

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

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

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

C.f.方法的javadoc。

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

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

最新更新