ここでlangdetect
ホストされている Java ライブラリを使用しようとしています。これほど簡単に使用することはできません:
Detector detector;
String langDetected = "";
try {
String path = "C:/Users/myUser/Desktop/jars/langdetect/profiles";
DetectorFactory.loadProfile(path);
detector = DetectorFactory.create();
detector.append(text);
langDetected = detector.detect();
}
catch (LangDetectException e) {
throw e;
}
return langDetected;
DetectFactory.loadProfile
メソッドに関しては除きます。langdetect
このライブラリは、絶対ファイル パスを渡すとうまく機能しますが、最終的には、コードとそのコンパニオンprofiles
ディレクトリを同じ JAR ファイル内にパッケージ化する必要があると思います。
myapp.jar/
META-INF/
langdetect/
profiles/
af
bn
en
...etc.
com/
me/
myorg/
LangDetectAdaptor --> is what actually uses the code above
LangDetectAdaptor
内部にある に、実行時に動作するために必要なと依存関係myapp.jar
の両方が提供されるようにします。ただし、機能するために何を渡す必要があるかについては混乱しています。langdetect.jar
jsonic.jar
langdetect
DetectFactory.loadProfile
langdetect
JAR にはディレクトリが付属していますが、profiles
JAR 内から初期化する必要があります。ディレクトリをコピーしprofiles
て JAR 内に配置しますか (上記で説明したように)、または内部に保持しlangdetect.jar
てコード内からアクセスする方法はありますか?
ここで助けてくれてありがとう!
編集:ここでの問題は、このディレクトリに同langdetect
梱profiles
されているが、JAR内から初期化する必要があることだと思います。profiles
API は、独自の構成を考慮しDetectFactory.loadProfiles().except("fr")
て、フランス語などを初期化したくない場合のようなメソッドを提供するように少し変更することでおそらく恩恵を受けるでしょう。しかし、これでも私の問題は解決しません!