Hi Rohit,
That is the correct version of the client, so it doesn't look like that's the problem.
In the dependency tree, do you see any references to "com.sun.jersey:jersey-core:jar:1.18.3" (or any 1.* version)?
The issue is that you have multiple versions of the class "javax.ws.rs.core.Application" on your classpath. The Application from old versions of Jersey didn't have that "public Map<String, Object> getProperties()" method, and that old Application is getting loaded instead of the new one and causing your error.
If you figure out which of your dependencies is causing com.sun.jersey:jersey-core to be included, you have a couple of options for trying to fix it:
1) See if there is an updated version for that library on Maven central which is compatible with Jersey 2.
2) Exclude the jersey-core dependency manually and hope the library still works. For example, if you're depending on a "foo.bar:baz-library" in your pom.xml, and that's what is depending on the old Jersey version, you could add an <exclusions> section in the <dependency> tag for foo.bar:
<dependency>
<groupId>foo.bar</groupId>
<artifactId>baz-library</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
</exclusions>
</dependency>
(I could be wrong about all of this, but I'm pretty sure this is the basic problem here)
-Michael