我想创建cycAccess对象以连接到openCyc知识库,但我无法创建此对象。我从这段代码得到了NoClassDefFoundError ... Plz任何人都可以帮助我吗?以下是我的代码......
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.");
}
答案 0 :(得分:0)
NoClassDefFoundError通常意味着在编译时可用的类在运行时不可用。我建议您检查应用程序的类路径,以查看所有必需的依赖项是否都在类路径中。因为大多数代码使用JDK提供的类,所以您应该查看CycAccess和CycConstant类所需的依赖项。