私は以下のようなクラスを持っています:
public class JSemcorProcessor {
IConcordanceSet semcor;
String[] directories = { "brown1", "brown2", "brownv" };
public JSemcorProcessor() throws MalformedURLException {
// construct the URL to the Semcor directory
String path = "./files/semcor3.0/";
URL url = new URL("file", null, path);
// construct the semcor object and open it
semcor = new Semcor(url);
semcor.open();
}
public static void main(String[] args) throws IOException, ParseException {
JSemcorProcessor jsp = new JSemcorProcessor();
SynsetGraph graph = jsp.startOne("br-a06");
}
.......
}
main() を呼び出すとうまく機能します。しかし今、私はこのクラスをアプレットで使用したいと考えています:
public void init() {
JSemcorProcessor jsp = null;
SynsetGraph graph = null;
try {
jsp = new JSemcorProcessor();
graph = jsp.startOne("br-a06");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
........
}
そのような例外が発生します:
java.lang.IllegalArgumentException
at edu.mit.jsemcor.main.Semcor.<init>(Semcor.java:105)
at edu.mit.jsemcor.main.Semcor.<init>(Semcor.java:90)
at edu.mit.jsemcor.main.Semcor.<init>(Semcor.java:77)
// semcor = new Semcor(url);
at edu.njit.tagging.JSemcorProcessor.<init>(JSemcorProcessor.java:40)
// jsp = new JSemcorProcessor();
at org.jgrapht.demo.JGraphAdapterDemo.init(JGraphAdapterDemo.java:157)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
main() で機能する同じコードがアプレットで機能しないのはなぜですか? Semcor では URL オブジェクトがこの問題を引き起こしているようです。
ありがとう。