[ https://issues.apache.org/jira/browse/DIRSERVER-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13258505#comment-13258505 ]
lucas theisen commented on DIRSERVER-1606: ------------------------------------------ I was able to work around this by adding an aspect: {code:java} @Aspect public class GetUniqueResourceReplacer { private static final Logger log = LoggerFactory.getLogger( GetUniqueResourceReplacer.class ); @SuppressWarnings( "unused" ) @Pointcut( "execution(* org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor.getUniqueResource(String,String)) &&" + "args(resourceName,resourceDescription)" ) private void getUniqueResourceReplacer( String resourceName, String resourceDescription ) { log.warn( "wait, what the heck... this is a pointcut, not a method!" ); } @Around( "org.mitre.asias.ldap.test.GetUniqueResourceReplacer.getUniqueResourceReplacer(resourceName,resourceDescription)" ) public URL getFirstMatchingResource( String resourceName, String resourceDescription ) throws IOException { log.warn( "Hey, you got here... AWESOME!" ); Enumeration<URL> resources = DefaultSchemaLdifExtractor.class.getClassLoader().getResources( resourceName ); if ( !resources.hasMoreElements() ) { throw new UniqueResourceException( resourceName, resourceDescription ); } URL result = resources.nextElement(); if ( resources.hasMoreElements() ) { log.info( "found more than one copy of " + resourceName + " using first one" ); } return result; } } {code} > DefaultSchemaLdifExtractor chokes when using apacheds-all Maven artifact > ------------------------------------------------------------------------ > > Key: DIRSERVER-1606 > URL: https://issues.apache.org/jira/browse/DIRSERVER-1606 > Project: Directory ApacheDS > Issue Type: Bug > Affects Versions: 1.5.7 > Reporter: Holger Pretzsch > Fix For: 2.0.0-RC1 > > > When using the apacheds-all Maven artifact, the DefaultSchemaLdifExtractor > does not work. Apparently, because of the Maven dependency setup, the default > schema is on the classpath in two (probably identical?) versions. > org.apache.directory.shared.ldap.schema.ldif.extractor.UniqueResourceException: > Problem locating LDIF file in schema repository > Multiple copies of resource named > 'schema/ou=schema/cn=apachedns/ou=syntaxes.ldif' located on classpath at urls > > jar:file:/C:/Users/holger/.gradle/cache/org.apache.directory.server/apacheds-all/jars/apacheds-all-1.5.7.jar!/schema/ou%3dschema/cn%3dapachedns/ou%3dsyntaxes.ldif > > jar:file:/C:/Users/holger/.gradle/cache/org.apache.directory.shared/shared-ldap-schema/jars/shared-ldap-schema-0.9.19.jar!/schema/ou%3dschema/cn%3dapachedns/ou%3dsyntaxes.ldif > at > org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor.getUniqueResource(DefaultSchemaLdifExtractor.java:371) > at > org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor.getUniqueResourceAsStream(DefaultSchemaLdifExtractor.java:347) > at > org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor.extractFromJar(DefaultSchemaLdifExtractor.java:386) > at > org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor.extractOrCopy(DefaultSchemaLdifExtractor.java:151) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira