NetBeans Scala Plugin Works on 7.1

>>> Updated on Jan 23, 2011
I just uploaded a new version of Scala plugin for NetBeans 7.1, which fixed the right-click issue. To download: http://sourceforge.net/projects/erlybird/files/nb-scala/7.1v2.9.x/
===

NetBeans 7.1 released several days ago, I downloaded and installed the plugin for Scala-2.9.x, and it works.

Comments

1. anonymous -- 2012-01-12 16:06

I was unsuccessful in installing the Scala 2.9.x plugin to NetBeans 7.1.

Attempting to install the plugin using the downloaded plugins dialog box results in the following error message:

"Some plugins require plugin Editor Library to be installed.

The plugin Editor Library is requested in version >= 2.1 (release version 2) but only 3.17.1.19.25 (of release version different from 2) was found.

The following plugins are affected:

Scala Core
Scala Debugger Projects Integration
Scala Editor
Scala Refactoring

Some plugins require plugin Parsing API to be installed.

The plugin Parsing API is requested in implementation version 4.

The following plugins are affected:

Scala Core
Scala Editor"

So, given this result, does anyone have any suggestions?

2. anonymous -- 2012-01-16 19:43

not working for me, got a NPE:

java.lang.NullPointerException
	at org.netbeans.modules.csl.core.GsfDataNode.getActions(GsfDataNode.java:107)
	at org.openide.nodes.FilterNode.getActions(FilterNode.java:756)
	at org.openide.nodes.NodeOp.findActions(NodeOp.java:161)
	at org.openide.explorer.view.TreeView.createPopup(TreeView.java:1068)
	at org.openide.explorer.view.TreeView$PopupAdapter.showPopup(TreeView.java:1558)
	at org.openide.awt.MouseUtils$PopupMouseAdapter.maybePopup(MouseUtils.java:189)
	at org.openide.awt.MouseUtils$PopupMouseAdapter.mouseReleased(MouseUtils.java:184)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

whenever i right-click on a .scala file its definitivly _not_ working - or someone did not even beta test it. could be considered as alpha.

3. dcaoyuan -- 2012-01-19 12:19

For the NPE, it's an uncompatible issue under netbeans 7.1, I just fixed it on https://github.com/dcaoyuan/nbscala, will release a new version soon.

4. anonymous -- 2012-01-24 05:26

This is from the first anonymous poster with the comment on 2012-01-12.

Today's release of the updated NB IDE 7.1 Scala 2.9 plugin on SourceForge? appears to have resolved the issues I was encountering before.

The plugin appears to have installed. However, the following error message shows up in a dialog when restarting the IDE after installation:

==============================================================================

java.lang.Error: typeConstructor inapplicable for <none>
	at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:35)
	at scala.tools.nsc.symtab.Symbols$Symbol.typeConstructor(Symbols.scala:882)
	at scala.tools.nsc.symtab.Definitions$definitions$.scala$tools$nsc$symtab$Definitions$definitions$$booltype(Definitions.scala:157)
	at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:811)
	at scala.tools.nsc.Global$Run.<init>(Global.scala:694)
	at scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:925)
	at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:951)
	at scala.tools.nsc.interactive.Global.<init>(Global.scala:166)
	at org.netbeans.modules.scala.core.interactive.Global.<init>(Global.scala:13)
	at org.netbeans.modules.scala.core.ScalaGlobal.<init>(ScalaGlobal.scala:88)
	at org.netbeans.modules.scala.core.ScalaGlobal$.getGlobal(ScalaGlobal.scala:628)
	at org.netbeans.modules.scala.core.ScalaParserResult.<init>(ScalaParserResult.scala:61)
	at org.netbeans.modules.scala.core.ScalaParserResult$.apply(ScalaParserResult.scala:186)
	at org.netbeans.modules.scala.core.ScalaParser.parse(ScalaParser.scala:99)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callParse(TaskProcessor.java:655)
	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:213)
	at org.netbeans.modules.parsing.api.ResultIterator.getParserResult(ResultIterator.java:138)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$3.run(RepositoryUpdater.java:2369)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:643)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:154)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:138)
	at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:211)
	at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:208)
	at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:168)
	at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:356)
	at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:71)
	at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:208)
	at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:106)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.indexEmbedding(RepositoryUpdater.java:2352)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RefreshEifIndices.getDone(RepositoryUpdater.java:3098)
[catch] at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:2505)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:4518)
	at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:4455)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:618)
	at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:728)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

=============================================================================

Aside from this issue, the plugin appears to be working.

Many thanks for updating this tremendous resource for both the NetBeans IDE and Scala communities!!

5. dcaoyuan -- 2012-01-24 07:24

Please check your environment variable SCALA_HOME, it should point to a Scala 2.9.x installation. Or, that's a just a scala's compiler bug, try to fix your code, and it should won't happen frequently. Or, you can check the netbeans' config file (which is located at install_dir/etc/netbeans.conf), to see if there is "-ea" argument, if true, remove it.

6. anonymous -- 2012-01-30 18:53

I have previously been doing NetBeans projects with mixed Java and Scala code. The NetBeans 7.1 / Scala 2.9 plugin works fine for Scala specific projects. When Scala files are added to Java projects, the editor does not apply the syntax highlighting and the following exception appears in the lower-right corner of the IDE:

scala.tools.nsc.MissingRequirementError: object scala not found.
	at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:653)
	at scala.tools.nsc.symtab.Definitions$definitions$.getModule(Definitions.scala:603)
	at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackage(Definitions.scala:145)
	at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackageClass(Definitions.scala:146)
	at scala.tools.nsc.symtab.Definitions$definitions$.AnyClass(Definitions.scala:176)
	at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:811)
	at scala.tools.nsc.Global$Run.<init>(Global.scala:694)
	at scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:925)
	at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:951)
	at scala.tools.nsc.interactive.Global.<init>(Global.scala:166)
	at org.netbeans.modules.scala.core.interactive.Global.<init>(Global.scala:13)
	at org.netbeans.modules.scala.core.ScalaGlobal.<init>(ScalaGlobal.scala:88)
	at org.netbeans.modules.scala.core.ScalaGlobal$.getGlobal(ScalaGlobal.scala:628)
	at org.netbeans.modules.scala.core.ScalaParserResult.<init>(ScalaParserResult.scala:61)
	at org.netbeans.modules.scala.core.ScalaParserResult$.apply(ScalaParserResult.scala:186)
	at org.netbeans.modules.scala.core.ScalaParser.parse(ScalaParser.scala:99)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callParse(TaskProcessor.java:655)
	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:213)
[catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:783)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

Is there some further configuration needed to let the editor handle Scala files outside of Scala-specific projects? Again, this worked before in prior versions of the plugin.

Thanks!

7. anonymous -- 2012-02-01 21:27

Thank You Caoyuan for great job.

Add New Comment