title: "JNDI name is already in use" in Weblogic 12c with EJB3
body: <p>I have the following code that I'm trying to deploy as an EJB to WebLogic 12c, but I'm getting an error: </p>
  
  <blockquote>
    <p>"Error deploying the EJB GeopoliticalServiceBean(Application:
    campaigner-ejb, EJBComponent: campaigner-service.jar), the JNDI name
    java:global/campaigner-ejb/campaigner-service/GeopoliticalServiceBean!com.dr_dee_sw.campaigner.service.GeopoliticalServiceLocal
    is already in use. You must set a different JNDI name in the
    weblogic-ejb-jar.xml deployment descriptor or corresponding annotation
    for this EJB before it can be deployed."</p>
  </blockquote>
  
  <pre><code>public interface GeopoliticalService
  {
  ...
  }
  
  @Local
  public interface GeopoliticalServiceLocal extends GeopoliticalService
  {
  }
  
  @Remote
  public interface GeopoliticalServiceRemote extends GeopoliticalService
  {
  }
  
  @TransactionManagement(value = TransactionManagementType.CONTAINER)
  @TransactionAttribute(value = TransactionAttributeType.REQUIRED)
  @Stateless
  public class GeopoliticalServiceBean implements GeopoliticalServiceLocal,GeopoliticalServiceRemote
  {
  ...
  }
  </code></pre>
  
  <p>More information:
  I've reduced the EJB-JAR file, campaigner-service.jar, so that there's only one bean in it, plus the interfaces and exceptions. the EAR file, campaigner-ejb.ear, has only the EJB-JAR in it at the main level. It also has a "lib" directory with supporting libraries, but it only has the DAO and DTO jars in it plus third-party libraries. So, to me, it doesn't seem like a packaging issue.</p>
  
  <p>This is my first app using all annotations, but it still seems fairly straight-forward. What am I missing?</p>