I have written the following SNMP client code to display the hardware information
When I run this program, that shows the exception as given below:
Exception in thread "main" java.lang.NoCla ssDefFoundError : org/snmp4j/TransportMappin g
at java.lang.Class .getDeclaredMet hods0(Native Method)
at java.lang.Class .privateGetDecl aredMethods(Cla ss.java:2442)
at java.lang.Class .getMethod0(Cla ss.java:2685)
at java.lang.Class .getMethod(Clas s.java:1620)
at sun.launcher.La uncherHelper.ge tMainMethod(Lau ncherHelper.jav a:494)
at sun.launcher.La uncherHelper.ch eckAndLoadMain( LauncherHelper. java:486)
Caused by: java.lang.Class NotFoundExcepti on: org.snmp4j.Tran sportMapping
at java.net.URLCla ssLoader$1.run( URLClassLoader. java:366)
at java.net.URLCla ssLoader$1.run( URLClassLoader. java:355)
at java.security.A ccessController .doPrivileged(N ative Method)
at java.net.URLCla ssLoader.findCl ass(URLClassLoa der.java:354)
at java.lang.Class Loader.loadClas s(ClassLoader.j ava:423)
at sun.misc.Launch er$AppClassLoad er.loadClass(La uncher.java:308 )
at java.lang.Class Loader.loadClas s(ClassLoader.j ava:356)
... 6 more
Please help me to correct this error. Thanks in advance...
Code:
import java.io.IOException;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.Target;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SNMPManager
{
Snmp snmp=null;
String address=null;
public SNMPManager(String add)
{
address=add;
}
public static void main(String[] args)throws IOException
{
SNMPManager client=new SNMPManager("udp:127.0.0.1/161");
client.start();
String sysDescr=client.getAsString(new OID(".1.3.6.1.2.1.1.1.0"));
System.out.println(sysDescr);
}
private void start()throws IOException
{
TransportMapping transport=new DefaultUdpTransportMapping();
snmp = new Snmp(transport);
transport.listen();
}
public String getAsString(OID oid)throws IOException
{
ResponseEvent event=get(new OID[]{oid});
return event.getResponse().get(0).getVariable().toString();
}
public ResponseEvent get(OID oids[])throws IOException
{
PDU pdu=new PDU();
for(OID oid:oids)
{
pdu.add(new VariableBinding(oid));
}
pdu.setType(PDU.GET);
ResponseEvent event=snmp.send(pdu, getTarget(),null);
if(event != null)
{
return event;
}
throw new RuntimeException("GET timed out");
}
private Target getTarget()
{
Address targetAddress=GenericAddress.parse(address);
CommunityTarget target=new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(1500);
target.setVersion(SnmpConstants.version2c);
return target;
}
}
Exception in thread "main" java.lang.NoCla ssDefFoundError : org/snmp4j/TransportMappin g
at java.lang.Class .getDeclaredMet hods0(Native Method)
at java.lang.Class .privateGetDecl aredMethods(Cla ss.java:2442)
at java.lang.Class .getMethod0(Cla ss.java:2685)
at java.lang.Class .getMethod(Clas s.java:1620)
at sun.launcher.La uncherHelper.ge tMainMethod(Lau ncherHelper.jav a:494)
at sun.launcher.La uncherHelper.ch eckAndLoadMain( LauncherHelper. java:486)
Caused by: java.lang.Class NotFoundExcepti on: org.snmp4j.Tran sportMapping
at java.net.URLCla ssLoader$1.run( URLClassLoader. java:366)
at java.net.URLCla ssLoader$1.run( URLClassLoader. java:355)
at java.security.A ccessController .doPrivileged(N ative Method)
at java.net.URLCla ssLoader.findCl ass(URLClassLoa der.java:354)
at java.lang.Class Loader.loadClas s(ClassLoader.j ava:423)
at sun.misc.Launch er$AppClassLoad er.loadClass(La uncher.java:308 )
at java.lang.Class Loader.loadClas s(ClassLoader.j ava:356)
... 6 more
Please help me to correct this error. Thanks in advance...
Comment