我正在尝试使用一个名为langdetect
hosts here的 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
位于内部的 whichmyapp.jar
提供了它在运行时工作所需的 thelangdetect.jar
和jsonic.jar
依赖项。langdetect
但是我很困惑我需要传递什么DetectFactory.loadProfile
才能工作:
langdetect
JAR 随profiles
目录一起提供,但您需要从 JAR 内部对其进行初始化。那么我是复制profiles
目录并将其放入我的 JAR 中(就像我上面规定的那样),还是有办法将它保留在里面langdetect.jar
但从我的代码中访问它?
在此先感谢您的帮助!
编辑:我认为这里的问题是这个目录langdetect
附带profiles
的,但是希望你从你的 JAR 中初始化它。API 可能会受益于稍作更改以仅考虑profiles
其自己的配置,然后提供方法,例如DetectFactory.loadProfiles().except("fr")
在您不希望它初始化法语等的情况下。但这仍然不能解决我的问题!