Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resolving a "duplicate definition of library class" in ProGuard

I have a Java project which includes the Xerces library.

When I process the project with Proguard, I get the warning:

Note: duplicate definition of library class [org.w3c.dom.html.HTMLDOMImplementation]

I see in Xerces that this class exists, and that a same class exists in the rt.jar of JDK 1.6.

The jar file created by ProGuard does not launch (error: "A Java Exception Has Occurred"). How can I solve this problem? Thx!


(note: I work with Netbeans)

like image 839
seinecle Avatar asked Dec 07 '11 11:12

seinecle


1 Answers

1) Either you should remove the class from one of the library (which is not advisable as it might break other classes)

2) Find a jar withouth this class. For e.g. the class which you are using in your application might be available in a number of jars. So get the jar where this conflicting class is not present but other classes which you want are present (this might take some time)

3) (and best) just ignore the error. I don't think it should give any problem. Based on which jar occurrs first in the class path, the class will be picked up.

like image 88
Vicky Avatar answered Sep 20 '22 05:09

Vicky