Analyze code report error

sonarlint version: SonarLint for Eclipse 4.0.0.201810170711 org.sonarlint.eclipse.feature.feature.group SonarSource
eclipse version:Eclipse Java EE IDE for Web Developers.
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200
OS: Windows 7, v.6.1, x86_64 / win32

when I create my first custome rule with office example,
I anaylyse my code with the rule but failed.

Eclipse error log like below:
!ENTRY org.eclipse.core.jobs 4 2 2019-01-24 10:15:16.373
!MESSAGE An internal error occurred during: "SonarLint analysis of project es-task (144 files processed)".
!STACK 0
java.lang.NoClassDefFoundError: org/sonar/api/internal/google/common/collect/ImmutableList
	at org.sonar.template.java.checks.MyFirstCustomCheck.nodesToVisit(MyFirstCustomCheck.java:35)
	at org.sonar.java.model.VisitorsBridge$ScannerRunner.lambda$new$3(VisitorsBridge.java:263)
	at java.util.ArrayList.forEach(Unknown Source)
	at org.sonar.java.model.VisitorsBridge$ScannerRunner.<init>(VisitorsBridge.java:263)
	at org.sonar.java.model.VisitorsBridge.<init>(VisitorsBridge.java:99)
	at org.sonar.java.JavaSquid.createVisitorBridge(JavaSquid.java:103)
	at org.sonar.java.JavaSquid.<init>(JavaSquid.java:93)
	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:92)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:81)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:72)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:132)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:82)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:312)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:67)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:397)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:205)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:167)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.runInWorkspace(AbstractSonarProjectJob.java:44)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

!ENTRY org.eclipse.m2e.logback.appender 2 0 2019-01-24 10:16:07.076
!MESSAGE Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

!ENTRY org.eclipse.m2e.logback.appender 2 0 2019-01-24 10:16:07.098
!MESSAGE Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

I looks like some jar file was missing,but how to solve the problem?
Thanks!

image

Sorry for the late answer. I hope you managed to fix your issue. I will reply in case other people come to this thread.

The issue is that your custom plugin is using an internal class that is not accessible in plugin classloader:
org/sonar/api/internal/google/common/collect/ImmutableList
Please fix org.sonar.template.java.checks.MyFirstCustomCheck to not use internal classes, or package Guava in your plugin.