我想知道是否有办法将.dic和.aff文件添加到java项目jar文件中(例如使用eclipse)?
我的代码中有一本词典:
URL dicDic = CipherTextAttack.class.getResource("en_US");
static Hunspell.Dictionary dict = Hunspell.getInstance().getDictionary(dicDic.toString());
我需要jar文件在任何地方运行而不需要en_US字典文件。 这可能吗?
答案 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文件添加到存档。