1

ELKI ドキュメント ( http://elki.dbs.ifi.lmu.de/wiki/Tutorial/DistanceFunctions ) のチュートリアルを既に読みました。

残念ながら、生成された .class を MiniGUI (または提供された .jar の bash スクリプト) にプラグインする方法を把握していません。それはどのように行うことができますか?

Ps: 絶対にばかげているように聞こえますが、クラス名を「入力」しようとすると、提案されているように、「次のパラメーターを処理できませんでした: HammingDistance」などのエラーが表示されます。

4

1 に答える 1

1

ELKI は、標準のJava Classloaderを介してクラスをロードします。したがって、それらはクラス パス上になければなりません。そうしないと、ロードできません。呼び出しの例 (クラスがbinフォルダーにあると仮定) は次のとおりです。
java -cp elki.jar:bin/ de.lmu.ifi.dbs.elki.application.ELKILauncher

パラメータは次のように解釈されます。

  • この名前 (パッケージ名を含む!) を持つクラスがあれば、それが使用されます。
  • それ以外の場合、ELKI は予期されるインターフェースのパッケージ名を先頭に追加しようとします。これにより、ショートカット名が有効になります。
  • それ以外の場合は、(サービス ファイルからの) 既知のクラスのエイリアスがチェックされます。たとえば、ユークリッド距離には の別名がありl2、マンハッタンには の別名がありl1ます。
  • クラスには、パラメーターなしのコンストラクターまたはinnerが必要です。 publicpublic static class Parameterizer

入力支援は次のように構築されます。

  • .jarクラスパス上のファイルのサービス ファイルがチェックされます。META-INF/elki/<interface>
  • クラスパス上のフォルダーは開発モードになり、再帰的なリストが実行され、すべての.classファイルが検査されます。これは非常に遅くなりますが、サービス ファイルを編集する必要がなくなります。検出されたクラスは、サービス ファイルにリストされているクラスの下に表示されます。

さらに、パッケージde.lmu.ifi.dbs.elki.application.internalには、クラスパス上のすべてを検査するクラスが含まれており、たとえば、パラメーターなしのコンストラクターを持たないクラスpublicや内部のクラスを報告しますpublic static class Parameterizer

于 2014-07-17T08:36:35.443 に答える