your assumption is correct: inside one web application (e.g. “cis” after default installation) all CAI projects (each one represented by one directory) are managed by one and the same class loader. Consequence: multiple occurances of the same adapter class in different projects will cause the situation you described: the classloader is loading the first occurance it finds, the second occurance will not be loaded.
This cross-project-loading is by intention… believe it or not!
Inside one web application all projects are intended to communicate with one another without class loader problems.
Inisde one webapp (“cis”) each class must be unique cross projects. Locate them within different packages for example.