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

标签 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 字典文件。 这可能吗?

最佳答案

是的,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 文件添加到存档中即可。

关于java - 如何将 .dic 和 .aff 文件添加到 java jar 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943648/

相关文章:

python - OrderedDict 是一棵树吗?

python - 无法在 Python 中打印 Trie 中的节点

java - 在外部类外部使用类型化内部类时了解 "improperly formed type, type arguments given on a raw type"

java - 如何改进从 Socket 读取 XML 的方式

java - JMockit - java.lang.ClassCastException : java. lang.String 无法转换为组织

eclipse - Eclipse 中的 "Open with..."无需切换默认编辑器

c++ - 找不到 Eclipse 和 CDT 二进制文件

java - 独立的 Java Glasshfish 客户端。引用 gf-client.jar

java - 已更改为 1.6

java - 使用java将json格式字符串转换为数据集spark