我已经阅读了 ELKI 文档 ( http://elki.dbs.ifi.lmu.de/wiki/Tutorial/DistanceFunctions ) 中的教程。
不幸的是,我不知道如何使用 MiniGUI(或提供的 .jar 的 bash 脚本)插入生成的 .class。如何做到?
Ps:我知道这听起来绝对是菜鸟,但是当我尝试按照建议“输入”类名称时,我收到错误“无法处理以下参数:HammingDistance”。
最佳答案
ELKI将通过标准Java Classloader加载类。因此,它们必须位于类路径上,否则无法加载。调用示例(假设您的类位于 bin
文件夹中)是
java -cp elki.jar:bin/ de.lmu.ifi.dbs.elki.application.ELKILauncher
参数解释如下:
- 如果存在具有此名称(包括包名称!)的类,则使用它。
- 否则,ELKI 会尝试在前面添加预期接口(interface)的包名称。这启用了快捷方式名称。
- 否则,将检查已知类(来自服务文件)的别名。例如,欧几里得距离的别名为
l2
,曼哈顿有一个别名l1
. - 类必须有一个无参数
public
构造函数或内部public static class Parameterizer
.
输入辅助的构建如下:
-
.jar
检查类路径上的文件是否有META-INF/elki/<interface>
中的服务文件。
类路径上的 - 文件夹使您进入开发模式,在该模式下执行递归列表并且所有
.class
文件被检查。这要慢得多,但无需编辑服务文件。发现的类显示在服务文件中列出的下面。
此外,包de.lmu.ifi.dbs.elki.application.internal
包括将检查类路径上所有内容的类,并报告例如没有无参数的类 public
构造函数,或内部 public static class Parameterizer
.
关于java - 如何用ELKI插入自定义距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24790973/