在使用activator new生成的项目中,使用Idea解决依赖关系。
在使用activator new生成的项目中,使用Idea解决依赖关系。
我已经完成了以下工作:
- 使用activator命令创建了一个新项目:
activator new play-java
- 按照这里的描述将项目导入到Idea社区版15中:https://www.playframework.com/documentation/2.4.x/IDE
然而,我无法构建该项目,因为在Idea中无法识别/导入play.* org.junit等包。不过,我可以顺利执行"activator run"命令。如果执行"activator idea"命令,会出现以下错误信息:
[error] Not a valid command: idea (similar: eval, alias)
[error] Not a valid project ID: idea
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: idea (similar: clean)
[error] idea
[error] ^
当我导入此处定义的websocket示例:https://devcenter.heroku.com/articles/play-java-websockets后,在Idea中可以成功构建,没有任何问题。
问题:在使用activator new生成的项目中,如何在Idea中解决依赖关系?
原因:Idea命令是通过一个插件添加的,但是该插件默认情况下未安装。根据您的网络连接情况,Idea可能需要一些时间来解析所有的依赖项并使它们在您的项目中可用。检查进度条(底部)是否已经完成解析。此外,请检查play-java模板是否添加了您希望看到的所有依赖项。
解决方法:
1. 添加插件:您可以按照以下步骤自己添加插件:
在project/plugins.sbt
文件中添加以下行:
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
请注意,这不会使Idea项目与您的SBT项目保持同步。换句话说,当您添加新的依赖项或更改其他内容时,您需要手动运行idea
命令。
2. 确保使用了更新的Idea Scala插件,并重试。
参考链接:
1. [How to create SBT project with IntelliJ Idea?](https://stackoverflow.com/questions/4250318)
2. [Play with Activator Issue on IntelliJ Idea 14](https://stackoverflow.com/questions/26975705)
3. [IntelliJ and Play framework](https://stackoverflow.com/questions/27005289)