Quantcast
Channel: Ignite Realtime: Message List
Viewing all articles
Browse latest Browse all 11413

Missing classes: de/measite/minidns/DNSCache

$
0
0

I get this errors while launching my app. I added smack4.1.0 to my classpath.

 

 

Exception in thread "main" java.lang.NoClassDefFoundError: de/measite/minidns/DNSCache  at java.lang.Class.forName0(Native Method)  at java.lang.Class.forName(Class.java:340)  at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:213)  at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193)  at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163)  at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148)  at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116)  at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)  at org.jivesoftware.smack.AbstractXMPPConnection.<clinit>(AbstractXMPPConnection.java:98)  at lt.maze.SmackCcsClient.connect(SmackCcsClient.java:177)  at lt.maze.Main.main(Main.java:22)  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  at java.lang.reflect.Method.invoke(Method.java:483)  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.lang.ClassNotFoundException: de.measite.minidns.DNSCache  at java.net.URLClassLoader$1.run(URLClassLoader.java:372)  at java.net.URLClassLoader$1.run(URLClassLoader.java:361)  at java.security.AccessController.doPrivileged(Native Method)  at java.net.URLClassLoader.findClass(URLClassLoader.java:360)  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  ... 16 more

For what its worth, here is the code:

 

 

public void connect(long senderId, String apiKey) throws XMPPException, IOException, SmackException {   //config.setReconnectionAllowed(true);  //config.setRosterLoadedAtLogin(false);   connection = new XMPPTCPConnection(XMPPTCPConnectionConfiguration.builder()  .setHost(GCM_SERVER)  .setPort(GCM_PORT)  .setSecurityMode(SecurityMode.required)  .setSendPresence(false)  .setSocketFactory(SSLSocketFactory.getDefault())  .build());   connection.setUseStreamManagement(true);   connection.connect();   connection.addConnectionListener(new LoggingConnectionListener());   // Handle incoming packets   connection.addAsyncStanzaListener(new StanzaListener() {   @Override   public void processPacket(Stanza packet) {   logger.log(Level.INFO, "Received: " + packet.toXML());   Message incomingMessage = (Message) packet;   GcmPacketExtension gcmPacket = (GcmPacketExtension) incomingMessage.getExtension(GCM_NAMESPACE);   String json = gcmPacket.getJson();  try {  JsonParser jsonParser = new JsonParser();   JsonObject jsonObject = jsonParser.parse(json).getAsJsonObject();   //Map<String, Object> jsonObject = (Map<String, Object>) JSONValue.parseWithException(json);  // present for "ack"/"nack", null otherwise   Object messageType = jsonObject.get("message_type");  if (messageType == null) {   // Normal upstream data message   handleUpstreamMessage(jsonObject);   // Send ACK to CCS   connection.sendSmAcknowledgement();   } else if ("ack".equals(messageType.toString())) {   // Process Ack   handleAckReceipt(jsonObject);   } else if ("nack".equals(messageType.toString())) {   // Process Nack   handleNackReceipt(jsonObject);   } else if ("control".equals(messageType.toString())) {   // Process control message   handleControlMessage(jsonObject);   } else {   logger.log(Level.WARNING,   "Unrecognized message type (%s)",   messageType.toString());   }  } catch (JsonParseException e) {   logger.log(Level.SEVERE, "Error parsing JSON " + json, e);   } catch (Exception e) {   logger.log(Level.SEVERE, "Failed to process packet", e);   }  }  }, new StanzaTypeFilter(Message.class));   // Log all outgoing packets   connection.addPacketInterceptor(new StanzaListener() {   @Override   public void processPacket(Stanza packet) throws NotConnectedException {   logger.log(Level.INFO, "Sent: {0}", packet.toXML());   }  }, new StanzaTypeFilter(Message.class));   connection.login(senderId + "@gcm.googleapis.com", apiKey);
}

 

This code is basend on Android GCM server implementation code.


Viewing all articles
Browse latest Browse all 11413

Trending Articles