0

我想创建 cycAccess 对象以连接到 openCyc 知识库,但我无法创建此对象。我从这段代码中得到了 NoClassDefFoundError ......请有人可以帮助我吗?以下是我的代码....

public static void exampleConnectingToCyc() {
System.out.println("Starting Cyc connection examples.");
CycAccess access = null;
try {
  access = new CycAccess("localhost", 3602);
  System.out.println("Successfully established CYC access " + access);

  // The following code should only be called if you will be modifying the KB
  // and one should typically use a real user and more specific KE purpose.
  // This information is used for accurately maintaining KB content
  // bookkeeping information.
  CycConstant cycAdministrator = access.getKnownConstantByName("CycAdministrator");
  CycConstant generalCycKE = access.getKnownConstantByName("GeneralCycKE");
  access.setCyclist(cycAdministrator);
  access.setKePurpose(generalCycKE);

  // Do stuff with the connection here.

  // Note: The class CycAccess contains many of the
  // useful public methods for interacting with Cyc.

  // Note: Establishing a connection with Cyc is relatively expensive.
  // If you have a lot of work to do with Cyc over time, make a single
  // CycAccess object and use that everywhere.
} catch (UnknownHostException nohost) {
  // if cyc server host not found on the network
  nohost.printStackTrace();
} catch (IOException io) {
  // if a data communication error occurs
  io.printStackTrace();
} catch (CycApiException cyc_e) {
  // if the api request results in a cyc server error
  // example: cannot launch servicing thread;
  // protocol errors, etc.
} catch (Exception e) {
} finally {
  // ensure that the connection is closed when finished
  if (access != null) {
    access.close();
  }
}
System.out.println("Finished.");

}

4

1 回答 1

0

NoClassDefFoundError 通常意味着在编译时可用的类在运行时不可用。我建议您检查应用程序的类路径,以查看所有必需的依赖项是否都在类路径中。因为大部分代码使用 JDK 提供的类,您可能应该查看 CycAccess 和 CycConstant 类所需的依赖项。

于 2012-04-12T16:43:06.020 回答