[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: Text File eclipse_error_desc.txt    

 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.

Generated at Wed Feb 07 20:56:31 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.