Hi, I have solved this issue by adding yenta to my application which allowed me to define my plugin as a friend of the org-netbeans-modules-code-analysis module.
Regards John On 2019/11/09 12:12:07, John Mc <mcdonnell.j...@gmail.com> wrote: > Hi, > > This morning I started to look at a SpotBugs plugin, and so I have started > trying to create a maven based NetBeans plugin for this. > > The problem I'm having is that I need to have a dependency > on org.netbeans.modules:org-netbeans-modules-code-analysis:RELEASE112 but > it seems that this isn't being picked up when I attempt to run the > plugin and I get the stack trace listed below. > > I have committed what I have so far (its nothing really, just a > AnalyzerFactory and Analyzer with some empty methods) on GitHub ( > https://github.com/mcdonnell-john/nb-spotbugs-plugin), this should allow > you to see what exactly I'm doing and hopefully recreate and point me in > the right direction. > > Regards > > John > > Stacktrace mentioned above: > > java.lang.ClassNotFoundException: > org.netbeans.modules.analysis.spi.Analyzer$AnalyzerFactory > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:197) > Caused: java.lang.ClassNotFoundException: > org.netbeans.modules.analysis.spi.Analyzer$AnalyzerFactory starting from > ModuleCL@2f8f1f65[org.jmcdonnell.netbeans.nb.spotbugs.plugin] with possible > defining loaders [ModuleCL@56965dfa[org.netbeans.modules.code.analysis]] > and declared parents [ModuleCL@46201667[org.netbeans.spi.editor.hints], > org.netbeans.JarClassLoader@59398860, ModuleCL@7a8f9518[org.openide.awt], > ModuleCL@7aa3d715[org.openide.loaders], ModuleCL@604b7ee > [org.netbeans.spi.java.hints]] > at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:199) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) > Caused: java.lang.NoClassDefFoundError: > org/netbeans/modules/analysis/spi/Analyzer$AnalyzerFactory > at java.base/java.lang.ClassLoader.defineClass1(Native Method) > at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) > at org.netbeans.JarClassLoader.doLoadClass(JarClassLoader.java:286) > at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:234) > Caused: java.lang.NoClassDefFoundError: > org/netbeans/modules/analysis/spi/Analyzer$AnalyzerFactory while loading > org.jmcdonnell.netbeans.spotbugs.plugin.SpotbugsAnalyzerFactory; see > http://wiki.netbeans.org/DevFaqTroubleshootClassNotFound > at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:238) > at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:162) > at > org.netbeans.ModuleManager$SystemClassLoader.loadClass(ModuleManager.java:769) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:415) > at > org.openide.util.lookup.MetaInfServicesLookup.search(MetaInfServicesLookup.java:306) > Caused: java.lang.ClassNotFoundException: > org/netbeans/modules/analysis/spi/Analyzer$AnalyzerFactory while loading > org.jmcdonnell.netbeans.spotbugs.plugin.SpotbugsAnalyzerFactory; see > http://wiki.netbeans.org/DevFaqTroubleshootClassNotFound > [catch] at > org.openide.util.lookup.MetaInfServicesLookup.search(MetaInfServicesLookup.java:311) > at > org.openide.util.lookup.MetaInfServicesLookup.beforeLookup(MetaInfServicesLookup.java:131) > at > org.openide.util.lookup.MetaInfServicesLookup.beforeLookupResult(MetaInfServicesLookup.java:110) > at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:458) > at org.openide.util.lookup.ProxyLookup$R.initResults(ProxyLookup.java:365) > at > org.openide.util.lookup.ProxyLookup$R.addLookupListener(ProxyLookup.java:464) > at > org.netbeans.modules.analysis.RunAnalysisPanel.<init>(RunAnalysisPanel.java:126) > at > org.netbeans.modules.analysis.RunAnalysis.showDialogAndRunAnalysis(RunAnalysis.java:95) > at > org.netbeans.modules.analysis.RunAnalysis.showDialogAndRunAnalysis(RunAnalysis.java:86) > at > org.netbeans.modules.analysis.RunAnalysisAction.actionPerformed(RunAnalysisAction.java:39) > at org.openide.awt.AlwaysEnabledAction$1.run(AlwaysEnabledAction.java:174) > at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:70) > at > org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:91) > at > org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:74) > at > org.openide.awt.AlwaysEnabledAction.actionPerformed(AlwaysEnabledAction.java:177) > at > java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) > at > java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) > at > java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) > at > java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) > at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) > at > java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129) > at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:690) > at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:649) > at > java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:375) > at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:363) > at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:389) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) > at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) > at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:389) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) > at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) > at > org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) > at > java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > at > java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists