Are there only general exceptions? It sounds strange.
Is there a relationship between these projects? Is another customer?
I believe that there will also be some interfaces, some of which declare these exceptions in the signature of their methods. Some of them are implemented in one of your projects and called in another project.
If there are no such things at all, it seems that your common exceptions are simply their names! They are not the same classes, they have the same name, and since many of the user exceptions have only constructors that call super constructors, they seem to be the same.
If this is your business, I would not worry about extracting the classes, and I would keep duplicates, because nothing worked in the refactoring.
source share