[YANGTOOLS-1564] Mismatched Guava binding in Eclipse Created: 24/Jan/24 Updated: 01/Feb/24 |
|
| Status: | Open |
| Project: | yangtools |
| Component/s: | maven plugin |
| Affects Version/s: | None |
| Fix Version/s: | 13.0.2 |
| Type: | Bug | Priority: | Low |
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
The following splat is reported quite often in current Eclipse: Description Resource Path Location Type
Failed to execute mojo org.opendaylight.yangtools:yang-maven-plugin:11.0.5:generate-sources {execution: binding} (org.opendaylight.yangtools:yang-maven-plugin:11.0.5:generate-sources:binding:generate-sources)
org.eclipse.core.runtime.CoreException: Failed to execute mojo
[...]
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:163)
... 33 more
Caused by: java.lang.IllegalAccessError: class com.google.common.base.MoreObjects tried to access method 'void com.google.common.base.MoreObjects$ToStringHelper.<init>(java.lang.String, com.google.common.base.MoreObjects$1)' (com.google.common.base.MoreObjects is in unnamed module of loader org.codehaus.plexus.classworlds.realm.ClassRealm @2c046142; com.google.common.base.MoreObjects$ToStringHelper is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @351ab3e8)
at com.google.common.base.MoreObjects.toStringHelper(MoreObjects.java:115)
at org.opendaylight.yangtools.yang2sources.plugin.FileGeneratorArg.toString(FileGeneratorArg.java:68)
at java.base/java.lang.String.valueOf(String.java:4461)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
at com.google.common.collect.Maps.toStringImpl(Maps.java:4009)
at com.google.common.collect.ImmutableMap.toString(ImmutableMap.java:1190)
at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesState.toString(YangToSourcesState.java:26)
at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467)
at java.base/java.lang.StringConcatHelper.simpleConcat(StringConcatHelper.java:422)
at org.opendaylight.yangtools.yang2sources.plugin.BuildContextStateStorage.loadState(BuildContextStateStorage.java:38)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:145)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:125)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
... 33 more
pom.xml /transport-ssh line 14 Maven Build Problem
Note these two differ in class loaders – one is Plexus ClassWorlds (i.e. maven) and the other is an EquinoxClassLoader (i.e. Eclipse). |
| Comments |
| Comment by Robert Varga [ 24/Jan/24 ] |
|
Note the following in the attached file: Number of foreign imports: 5 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.DirectoryScanner 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[project>org.opendaylight.mdsal:mdsal-binding-api:13.0.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]] this points to a dependency of the project being built – so perhaps this is just a transient. Anyway, we should probably end up with a more reasonable error mode. |