Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-2061

Duplicates classes found in jaxb-api:jar:2.3.1 and jboss-jaxb-api_2.3_spec:jar:1.0.0.Final

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 4.0.0.Beta7, 3.6.3.Final
    • 3.6.2.Final
    • jaxrs
    • None

    Description

      When I use the artifact resteasy-multipart-provider the maven enforcer plugins complains about duplicate classes:

      Found in:
          javax.xml.bind:jaxb-api:jar:2.3.1:compile
          org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.0.Final:compile
        Duplicate classes:
          javax/xml/bind/annotation/XmlValue.class
          javax/xml/bind/annotation/XmlElement.class
          javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.class
          javax/xml/bind/ContextFinder.class
          javax/xml/bind/ContextFinder$3.class
          javax/xml/bind/annotation/XmlElementRefs.class
          javax/xml/bind/helpers/DefaultValidationEventHandler.class
          javax/xml/bind/ParseConversionEvent.class
          javax/xml/bind/annotation/XmlSchema.class
          javax/xml/bind/annotation/XmlElement$DEFAULT.class
          javax/xml/bind/ValidationException.class
          javax/xml/bind/annotation/XmlAccessorType.class
          javax/xml/bind/annotation/adapters/NormalizedStringAdapter.class
          javax/xml/bind/helpers/Messages.class
          javax/xml/bind/DatatypeConverterImpl.class
          javax/xml/bind/ModuleUtil.class
          javax/xml/bind/annotation/XmlRegistry.class
          javax/xml/bind/annotation/XmlSchemaType.class
          javax/xml/bind/DatatypeConverterInterface.class
          javax/xml/bind/annotation/XmlElements.class
          javax/xml/bind/TypeConstraintException.class
          javax/xml/bind/ServiceLoaderUtil.class
          javax/xml/bind/util/Messages.class
          javax/xml/bind/annotation/XmlAttribute.class
          javax/xml/bind/ValidationEventHandler.class
          javax/xml/bind/annotation/XmlIDREF.class
          javax/xml/bind/helpers/AbstractUnmarshallerImpl.class
          javax/xml/bind/annotation/XmlAccessOrder.class
          javax/xml/bind/annotation/XmlList.class
          javax/xml/bind/PropertyException.class
          javax/xml/bind/Binder.class
          javax/xml/bind/annotation/XmlType.class
          javax/xml/bind/JAXBElement.class
          javax/xml/bind/Messages.class
          javax/xml/bind/helpers/ValidationEventLocatorImpl.class
          javax/xml/bind/annotation/XmlAttachmentRef.class
          javax/xml/bind/annotation/DomHandler.class
          javax/xml/bind/attachment/AttachmentUnmarshaller.class
          javax/xml/bind/ServiceLoaderUtil$ExceptionHandler.class
          javax/xml/bind/annotation/adapters/XmlAdapter.class
          javax/xml/bind/util/JAXBResult.class
          javax/xml/bind/ContextFinder$5.class
          javax/xml/bind/JAXBPermission.class
          javax/xml/bind/annotation/W3CDomHandler.class
          javax/xml/bind/Marshaller$Listener.class
          javax/xml/bind/JAXBIntrospector.class
          javax/xml/bind/Unmarshaller$Listener.class
          javax/xml/bind/attachment/AttachmentMarshaller.class
          javax/xml/bind/DatatypeConverterImpl$CalendarFormatter.class
          javax/xml/bind/JAXBContextFactory.class
          javax/xml/bind/annotation/XmlRootElement.class
          javax/xml/bind/JAXBElement$GlobalScope.class
          javax/xml/bind/JAXBException.class
          javax/xml/bind/util/JAXBSource$1.class
          javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.class
          javax/xml/bind/annotation/adapters/HexBinaryAdapter.class
          javax/xml/bind/WhiteSpaceProcessor.class
          javax/xml/bind/UnmarshallerHandler.class
          javax/xml/bind/annotation/XmlInlineBinaryData.class
          javax/xml/bind/ContextFinder$4.class
          javax/xml/bind/annotation/XmlEnumValue.class
          javax/xml/bind/annotation/XmlType$DEFAULT.class
          javax/xml/bind/helpers/PrintConversionEventImpl.class
          javax/xml/bind/annotation/XmlMixed.class
          javax/xml/bind/annotation/XmlAccessType.class
          javax/xml/bind/UnmarshalException.class
          javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter$DEFAULT.class
          javax/xml/bind/DataBindingException.class
          javax/xml/bind/NotIdentifiableEvent.class
          javax/xml/bind/annotation/XmlElementWrapper.class
          javax/xml/bind/annotation/XmlSchemaTypes.class
          javax/xml/bind/ValidationEventLocator.class
          javax/xml/bind/helpers/ValidationEventImpl.class
          javax/xml/bind/Marshaller.class
          javax/xml/bind/helpers/NotIdentifiableEventImpl.class
          javax/xml/bind/Element.class
          javax/xml/bind/ContextFinder$2.class
          javax/xml/bind/helpers/ParseConversionEventImpl.class
          javax/xml/bind/annotation/XmlAnyElement.class
          javax/xml/bind/SchemaOutputResolver.class
          javax/xml/bind/GetPropertyAction.class
          javax/xml/bind/annotation/XmlMimeType.class
          javax/xml/bind/Unmarshaller.class
          javax/xml/bind/PrintConversionEvent.class
          javax/xml/bind/annotation/adapters/CollapsedStringAdapter.class
          javax/xml/bind/ContextFinder$1.class
          javax/xml/bind/annotation/XmlElementRef$DEFAULT.class
          javax/xml/bind/annotation/XmlSeeAlso.class
          javax/xml/bind/DatatypeConverter.class
          javax/xml/bind/JAXB.class
          javax/xml/bind/Validator.class
          javax/xml/bind/annotation/XmlElementRef.class
          javax/xml/bind/util/JAXBSource.class
          javax/xml/bind/annotation/XmlAnyAttribute.class
          javax/xml/bind/annotation/XmlAccessorOrder.class
          javax/xml/bind/annotation/XmlEnum.class
          javax/xml/bind/JAXB$Cache.class
          javax/xml/bind/JAXBContext.class
          javax/xml/bind/util/ValidationEventCollector.class
          javax/xml/bind/annotation/XmlSchemaType$DEFAULT.class
          javax/xml/bind/annotation/XmlTransient.class
          javax/xml/bind/annotation/XmlID.class
          javax/xml/bind/annotation/XmlElementDecl$GLOBAL.class
          javax/xml/bind/annotation/XmlElementDecl.class
          javax/xml/bind/annotation/XmlNsForm.class
          javax/xml/bind/JAXBContext$1.class
          javax/xml/bind/MarshalException.class
          javax/xml/bind/annotation/XmlNs.class
          javax/xml/bind/ValidationEvent.class
          javax/xml/bind/helpers/AbstractMarshallerImpl.class
      

      You can test with this project https://github.com/natros/resteasy-provider or

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
      
        <groupId>com.github.natros.resteasy</groupId>
        <artifactId>resteasy-provider</artifactId>
        <version>1.0-SNAPSHOT</version>
      
        <properties>
          <project.build.outputEncoding>UTF-8</project.build.outputEncoding>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
      
        <dependencyManagement>
          <dependencies>
            <dependency>
              <groupId>org.jboss.resteasy</groupId>
              <artifactId>resteasy-bom</artifactId>
              <version>3.6.2.Final</version>
              <type>pom</type>
              <scope>import</scope>
            </dependency>
          </dependencies>
        </dependencyManagement>
      
        <dependencies>
          <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-multipart-provider</artifactId>
          </dependency>
        </dependencies>
      
        <build>
          <pluginManagement>
            <plugins>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
              </plugin>
            </plugins>
          </pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-enforcer-plugin</artifactId>
              <version>3.0.0-M2</version>
              <configuration>
                <rules>
                  <dependencyConvergence/>
                  <banDuplicateClasses>
                    <findAllDuplicates>true</findAllDuplicates>
                  </banDuplicateClasses>
                </rules>
              </configuration>
              <dependencies>
                <dependency>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>extra-enforcer-rules</artifactId>
                  <version>1.0-beta-9</version>
                </dependency>
              </dependencies>
              <executions>
                <execution>
                  <id>enforce</id>
                  <goals>
                    <goal>enforce</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </build>
      </project>
      

      just run mvn compile

      Attachments

        Issue Links

          Activity

            People

              rsearls r searls
              natros Filipe Sousa (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: