我从未尝试过使用任何类型的Scala调试器,也从未尝试过在IntelliJ Idea中调试任何东西(而我一直在使用Idea来编写Scala代码)。现在,正如the recent IntelliJ Idea 13 has gotten built-in SBT support我试图使用此功能(而不是旧的sbt-idea SBT插件方式)来导入SBT项目,这似乎有效。但我无法弄清楚的是如何在这种情况下运行和调试程序。当然我可以使用传统的SBT命令行方式来构建和运行,但是现在不应该有本机的方法吗?我单击Run-Debug或Run-Run时弹出的第一个窗口表明它是,以及第二个(Project Structure窗口)被调用。
(请注意,“运行”按钮已禁用(灰色),并且无论我做什么都不会启用)
为什么它抱怨SBT :: scala-compiler-bundle:2.11.0库没有使用的方式?我打算如何使用它?不是编译器/ SBT / IDE需要它吗?
另外,当我单击Build - Make Project异常构建过程终止异常(java.lang.reflect.InvocationTargetException)时出现:
Error:Abnormal build process termination:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.jetbrains.jps.cmdline.Launcher.main(Launcher.java:54)
Caused by: java.lang.IllegalStateException: failed to create a child event loop
at io.netty.util.concurrent.MultithreadEventExecutorGroup.(MultithreadEventExecutorGroup.java:73)
at io.netty.channel.MultithreadEventLoopGroup.(MultithreadEventLoopGroup.java:51)
at io.netty.channel.nio.NioEventLoopGroup.(NioEventLoopGroup.java:72)
at io.netty.channel.nio.NioEventLoopGroup.(NioEventLoopGroup.java:58)
at org.jetbrains.jps.cmdline.BuildMain.main(BuildMain.java:77)
... 5 more
Caused by: io.netty.channel.ChannelException: failed to open a new selector
at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:128)
我做错了什么?
PS:到目前为止,我正在使用最新的稳定Java,Scala,SBT和Idea版本。
答案 0 :(得分:3)
如果有人遇到类似的事情,例如:
您可以按照之前的评论中的建议(也许这有助于您的情况!)或者您做了帮助我的事情。
我为创建项目所做的工作:
我使用activator命令创建了我的基本项目(使用play 2.3 scala模板)。之后我导入了该项目(IDEA 13.1.4)。在我的IDE中的项目变得疯狂时,从命令行构建项目完成了工作...(就像我上面描述的那样)
解决方案:
转到“项目结构”并删除项目导入中配置的IntelliJ三个模块之一。它配置了一个包含所有必要依赖项的“根”模块,一个“根构建”模块和一个以项目命名的模块。解决方案是删除以项目命名的模块,并将“scala-compiler-bundle”添加到根模块。之后我的项目在IntelliJ中完全正常工作。
我希望这将有助于将来。