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

3

6

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?

Haney answered 29/4, 2014 at 10:31 Comment(0)
R
2

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.

Rentfree answered 25/6, 2014 at 16:9 Comment(0)
C
7

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

Crapshooter answered 1/5, 2014 at 12:16 Comment(1)
After hours of trying, switching your suggestion of version 1.5 works with an output of BUILD SUCCESS.Middlebreaker
R
2

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.

Rentfree answered 25/6, 2014 at 16:9 Comment(0)
C
0

I had the same problem. I solved it by updating to the newest Eclipse Luna 4.4 (Java Developer version which includes m2e-wtp, not the Java EE version). I guess it includes a newer version of m2e-wtp which fixes this issue(?!)

Curly answered 23/10, 2014 at 12:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.