I want a specific feature (Traps) from SNMP4j, is there a way to get a new jar which only has this feature?
Asked
Active
Viewed 101 times
-1
-
It's (mostly) open source, you can fork and create your own version with only the features you need. – lexicore Mar 19 '18 at 10:45
-
It would take a lot of time and effort and plus extensive testing would be required. not an appropriate way – Shaz Hemani Mar 19 '18 at 11:14
-
oh yes got it, and the name of that magic tool is proguard. – Shaz Hemani Mar 19 '18 at 11:23
-
Wonderful got a new jar using proguard and its shrank and only using classes which are relevant to sending traps. I will post complete solution in the post. – Shaz Hemani Mar 19 '18 at 11:24
1 Answers
1
We can use proguard for this feature.
1 Download proguard from https://sourceforge.net/projects/proguard/
2 Create a file(shrink.pro) in libs folder of proguard and paste following lines
-injars snmp.jar
-outjars out.jar
-libraryjars <java.home>/lib/rt.jar
-printmapping out.map
-dontwarn
-ignorewarnings
-keepattributes
-keep public class org.snmp4j.smi.OID
-keep public class org.snmp4j.CommunityTarget
-keep public class org.snmp4j.smi.UdpAddress
-keep public class org.snmp4j.TransportMapping
-keep public class org.snmp4j.smi.OctetString
-keep public class org.snmp4j.smi.Variable
-keep public class org.snmp4j.transport.DefaultUdpTransportMapping
-keep public class org.snmp4j.smi.Address
-keep public class org.snmp4j.PDUv1
-keep public class org.snmp4j.smi.VariableBinding
-keep public class org.snmp4j.Snmp
-keep public class org.snmp4j.PDU
-keep public class org.snmp4j.ScopedPDU
-keep public class org.snmp4j.UserTarget
-keep public class org.snmp4j.mp.MPv3
-keep public class org.snmp4j.mp.SnmpConstants
-keep public class org.snmp4j.security.AuthMD5
-keep public class org.snmp4j.security.PrivDES
-keep public class org.snmp4j.security.SecurityLevel
-keep public class org.snmp4j.security.SecurityModel
-keep public class org.snmp4j.security.SecurityModels
-keep public class org.snmp4j.security.SecurityProtocols
-keep public class org.snmp4j.security.USM
-keep public class org.snmp4j.security.UsmUser
-keep public class org.snmp4j.smi.IpAddress
3 run following command
java -jar proguard.jar @shrink.pro
4 You will get your new jar in libs folder of proguard.

Shaz Hemani
- 469
- 2
- 10