2013-04-12 121 views
0

我正在使用CLIPSJNI。从JAR加载CLP文件的问题

我所拥有的是:

Environment clips = new Environment(); 
clips.load("main.clp"); 

其中main.clp放在同一水平src和bin文件夹。

这在Eclipse中运行良好。但是,当我输出到JAR。它不能工作。

我知道导出到JAR时路径存在一些问题。 所以我见过有人建议使用this.getClass()。getResourceStream(),但事实并非如此。因为我需要的是文件的名称,而不是其内容。

有关如何解决此问题的任何建议?

回答

0

问题是正在传递文件名作为参数的C端本地库中正在执行加载。 C代码没有JAR文件的概念,也没有如何提取嵌入到其中的文件的概念。我认为你需要做的是将你的.clp文件放在JAR文件中,然后有一个例程从JAR文件中提取数据并将其保存到文件中。然后您可以使用加载方法加载它,并在完成后删除文件。