Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

org.codehaus.mojo : jaxb2-maven-plugin : 1.6 --> API incompatibility was encountered

when using
jaxb2-maven-plugin from codehaus i get the following problem marker in eclipse the content of this marker contains the following:

Description Resource    Path    Location    Type
Execution configuration of goal org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc failed: An API incompatibility was encountered while executing org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc: java.lang.NoSuchMethodError: org.codehaus.plexus.util.DirectoryScanner.setupMatchPatterns()V
-----------------------------------------------------
realm =    plugin>org.codehaus.mojo:jaxb2-maven-plugin:1.6
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/C:/develop/maven/repository/org/codehaus/mojo/jaxb2-maven-plugin/1.6/jaxb2-maven-plugin-1.6.jar
urls[1] = file:/C:/develop/maven/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
urls[2] = file:/C:/develop/maven/repository/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar
urls[3] = file:/C:/develop/maven/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
urls[4] = file:/C:/develop/maven/repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar
urls[5] = file:/C:/develop/maven/repository/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.jar
urls[6] = file:/C:/develop/maven/repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar
urls[7] = file:/C:/develop/maven/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
urls[8] = file:/C:/develop/maven/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
urls[9] = file:/C:/develop/maven/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
urls[10] = file:/C:/develop/maven/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[11] = file:/C:/develop/maven/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[12] = file:/C:/develop/maven/repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
urls[13] = file:/C:/develop/maven/repository/com/sun/xml/bind/jaxb-xjc/2.2.7/jaxb-xjc-2.2.7.jar
urls[14] = file:/C:/develop/maven/repository/com/sun/xml/bind/jaxb-core/2.2.7/jaxb-core-2.2.7.jar
urls[15] = file:/C:/develop/maven/repository/javax/xml/bind/jaxb-api/2.2.7/jaxb-api-2.2.7.jar
urls[16] = file:/C:/develop/maven/repository/com/sun/istack/istack-commons-runtime/2.16/istack-commons-runtime-2.16.jar
urls[17] = file:/C:/develop/maven/repository/com/sun/xml/bind/jaxb-jxc/2.2.7/jaxb-jxc-2.2.7.jar
urls[18] = file:/C:/develop/maven/repository/com/sun/xml/bind/jaxb-impl/2.2.7/jaxb-impl-2.2.7.jar
urls[19] = file:/C:/develop/maven/repository/com/sun/xml/fastinfoset/FastInfoset/1.2.12/FastInfoset-1.2.12.jar
urls[20] = file:/C:/develop/maven/repository/org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
urls[21] = file:/C:/develop/maven/repository/org/codehaus/plexus/plexus-utils/3.0.16/plexus-utils-3.0.16.jar
Number of foreign imports: 4
import: Entry[import org.sonatype.plexus.build.incremental from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import org.codehaus.plexus.util.Scanner from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import org.codehaus.plexus.util.AbstractScanner from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

-----------------------------------------------------
 (org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc:configuration:generate-sources)  pom.xml 

the configuration of the plugin looks like this:

  <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jaxb2-maven-plugin</artifactId>
                    <version>1.6</version>
                    <executions>
                        <execution>
                            <id>data</id>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                            <configuration>
                                <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
                                <schemaFiles>WebServiceDataSchema.xsd</schemaFiles>
                                <packageName>my.cool.package.jaxb.data</packageName> <!-- The name of your generated source package -->
                                <outputDirectory>${project.basedir}/src/gen/java</outputDirectory>
                                <target>2.1</target>
                            </configuration>
                        </execution>

                        <execution>
                            <id>configuration</id>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                            <configuration>
                                <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
                                <schemaFiles>WebServiceConfigurationSchema.xsd</schemaFiles>
                                <packageName>my.cool.package.jaxb.config</packageName> <!-- The name of your generated source package -->
                                <outputDirectory>${project.basedir}/src/gen/java</outputDirectory>
                                <target>2.1</target>
                                <clearOutputDir>false</clearOutputDir>
                            </configuration>
                        </execution>

                    </executions>

                </plugin>

does anyone have similar problems?

like image 863
jkp Avatar asked Apr 29 '14 10:04

jkp


2 Answers

I got a similar error. I solved it using version 1.5 (instead of 1.6) of jaxb2-maven-plugin.

like image 84
Ivan dal Bosco Avatar answered Nov 20 '22 19:11

Ivan dal Bosco


m2e doesn't seem to handle multiple execution blocks with the 1.6 plugin. Command line maven runs these forms correctly, though. If you back up to the 1.5 jaxb plugin, m2e is happy, but the plugin only runs the first of the execution blocks, leaving you with a different broken build.

My solution (so far) is to not use m2e, though that is obviously non-optimal.

like image 2
m.thome Avatar answered Nov 20 '22 21:11

m.thome