如何在IntelliJ 13中调试Scala SBT项目?
我从来没有尝试过使用任何类型的Scala调试器,并且从来没有尝试在IntelliJ Idea中进行任何调试(而我一直在使用Idea编写Scala代码)。 现在,由于最近的IntelliJ Idea 13已经获得了内置的SBT支持,我试图使用该功能(而不是旧的SBT插件方式)来导入SBT项目,这似乎很有用。 但我无法弄清楚在这种情况下如何运行和调试程序。 当然,我可以使用传统的SBT命令行方式来构建和运行,但是现在想法不应该具有原生方式吗? 当我点击Run-Debug或Run-Run时,我弹出的第一个窗口显示如下,以及被调用的第二个窗口(Project Structure窗口)。
(注意,运行按钮被禁用(灰色),并且无论我做什么都不会启用)
为什么它会抱怨SBT :: scala-compiler-bundle:2.11.0库不是用的方式? 我打算如何使用它? 编译器/ SBT / IDE是否需要它?
此外,当我单击生成 - 使项目异常构建过程终止异常(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版本。
如果有人经历类似的事情,例如:
你可以按照以前的评论建议(也许这有助于你的情况!),或者你做了什么帮助我..
我做了什么来创建我的项目:
我使用activator命令创建了我的基本项目(使用play 2.3 scala模板)。 之后,我导入了项目(IDEA 13.1.4)。 从命令行构建项目工作完美,而在我的IDE中的项目变得疯狂......(就像我上面描述的那样)
解:
转到您的“项目结构”并删除项目导入时配置的三个模块IntelliJ中的一个。 它配置一个包含所有必要依赖项的“根”模块,一个“root-build”模块和一个以您的项目命名的模块。 解决方案是删除以您的项目命名的模块,并将“scala-compiler-bundle”添加到您的根模块。 之后,我的项目在IntelliJ内部完全正常工作。
我希望这将有助于未来的人。
链接地址: http://www.djcxy.com/p/20013.html