この問題は本当に頭がおかしくなり、
ほとんどの人が考えていることに答えるために: はい、snowball.jar をクラスパスに追加しました。
「going」から「go」への単語を抑止することになっている単純なメインクラスがあります。
import weka.core.stemmers.SnowballStemmer;
public class StemmerTest {
public static void main(String[] args) {
SnowballStemmer stemmer = new SnowballStemmer();
stemmer.setStemmer("english");
System.out.println(stemmer.stem("going"));
}
}
最初にEclipseで実行すると動作し、次の出力が得られます。
Refreshing GOE props...
---Registering Weka Editors---
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Warning, not in CLASSPATH?
[KnowledgeFlow] Loading properties and plugins...
[KnowledgeFlow] Initializing KF...
go
ただし、Eclipse「stem.jar」から実行可能なjarとしてエクスポートし、ターミナル「java -jar stem.jar」で実行すると機能せず、次の出力が得られます。
Refreshing GOE props...
[KnowledgeFlow] Loading properties and plugins...
[KnowledgeFlow] Initializing KF...
Stemmer 'porter' unknown!
Stemmer 'english' unknown!
going
エクスポートされた jar で snowball.jar が認識されない理由がわかりません...エクスポートされた jar には weka.jar と snowball.jar の両方が含まれていますが。以下は、stem.jar ファイルの構造です。
stem.jar
|
|---META-INF
|---org
|---StemmerTest.class
|---snowball.jar
|---weka.jar
問題について何か助けていただければ幸いです
編集 1: 生成された ANT スクリプト:
<project default="create_run_jar" name="Create Runnable Jar for Project StemmerTest with Jar-in-Jar Loader">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="stem.jar">
<manifest>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="StemmerTest"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Class-Path" value="./ snowball-2012.jar weka.jar snowball.jar"/>
</manifest>
<zipfileset src="jar-in-jar-loader.zip"/>
<zipfileset dir="resources/lib" includes="snowball-2012.jar"/>
<fileset dir="bin"/>
<zipfileset dir="." includes="weka.jar"/>
<zipfileset dir="." includes="snowball.jar"/>
</jar>
</target>
編集2:
要求された MANIFEST.MF の内容は次のとおりです。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 23.25-b01 (Oracle Corporation)
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Main-Class: StemmerTest
Rsrc-Class-Path: ./ weka.jar snowball.jar
Class-Path: .
前もってありがとう、TeFa