当前位置:  开发笔记 > 编程语言 > 正文

如何使用IntelliJ Idea创建SBT项目?

如何解决《如何使用IntelliJIdea创建SBT项目?》经验,为你挑选了4个好方法。

我刚开始使用Scala/LiftWeb/Sbt开发,我想在IntelliJ Idea中导入一个Sbt项目.实际上,我设法以两种不同的方式导入我的项目:

1)与Maven.我创建了一个Maven项目,最重要的是我创建了一个Sbt项目,然后我在IntelliJ中导入了该项目.然后我可以轻松启动,停止Jetty服务器,并做其他的事情.但这不是我想要的.我想做同样的事情,只是Maven-free.这导致我

2)使用Eclipse.所以,我创建了一个新的Sbt项目(我编写了一个小脚本,将Sbt项目配置为WebProject).然后我使用sbt-eclipsify插件来"转换"Eclipse的项目,然后我在IntelliJ中导入(现有的源 - > eclipse).但是问题从这里开始:我无法使用IntelliJ Sbt插件.

谁能帮我这个?



1> Steve Gury..:

创建项目有三种基本方法 - 现代版本的IntelliJ可以直接导入sbt项目,否则你可以使用sbt插件生成IntelliJ项目,或使用IntelliJ Scala插件创建sbt项目.基本功能使用两种解决方案开箱即用,一些复杂的构建可能会出现问题,因此请尝试使用其他工具来查看它是否有效.

的IntelliJ

如今,IntelliJ IDEA已经变得如此好.当前版本(14.0.2)支持使用Scala插件开箱即用的sbt项目.只需安装插件,您就可以毫无困难地打开Scala/sbt项目.

插件首选项下的Scala插件

使用该插件,只需指向一个sbt项目,IDEA将为您提供一个向导来打开这种项目.

导入sbt项目

IntelliJ Scala插件

IntelliJ插件可以在这里找到 http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA,或者可以使用Settings - > Plugins对话框从IDE中直接安装.之后可以做文件 - >新项目 - > Scala - > SBT.IntelliJ将生成基本的build.sbt,下载必要的依赖项并打开项目.

SBT插件

可以在此处找到基于sbt文件生成构思项目的Sbt插件:https://github.com/mpeltonen/sbt-idea

SBT 12.0+和13.0+

只需添加addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")到您的build.sbt; 不需要额外的解析器.

旧版本:

SBT 0.11+

创建以下行并将其添加到~/.sbt/plugins/build.sbtORPROJECT_DIR/project/plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

gen-idea在sbt中使用来创建IDEA项目文件.

默认情况下,如果找到并将引用添加到IDEA项目文件,则会加载sbt和库依赖项的分类器(即源和javadoc).如果您不想下载/引用它们,请使用命令gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1 (根据插件作者,0.10.0 将无法工作!)

创建以下行到〜/ .sbt/plugins/build.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"

使用gen-ideasbt任务创建IDEA项目文件.

默认情况下,如果找到并将引用添加到IDEA项目文件,则会加载sbt和库依赖项的分类器(即源和javadoc).如果您不想下载/引用它们,请使用命令gen-idea no-classifiers no-sbt-classifiers.


SBT 0.7

要使用它,只需从你的sbt shell运行它,它将使用插件作为外部程序:

 > *sbtIdeaRepo at http://mpeltonen.github.com/maven/
 > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
 ...
 > update
 ...
 > idea
 ...

您还可以根据需要在项目定义中添加特征:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
  lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
   // ...
}


我是一个完全转换为这个插件.将它与idea-sbt-plugin结合使用,它允许您将项目构建委派给SBT,并在IDEA的工具窗口中以交互方式使用SBT.版本0.2.0-SNAPSHOT的sbt-idea修复了一些小麻烦 - 创建父项目,以及保存手动IntelliJ配置.
我收回了我的答案.这是一个很棒的插件,我现在每次都使用它.

2> Synesso..:

现在我手工完成.这很简单.

    使用SBT创建项目

    使用相同的根路径创建新的IDEA项目

    创建具有相同根路径的模块

    将src/main/scala设置为模块上的src路径

    将src/test/scala设置为模块上的测试路径

    将scala-library.jar添加为库

    将lib(如果存在)添加为模块库中的jar目录

    将lib_managed/compile(如果存在)添加为模块库中的jar目录

    将lib_managed/test(如果存在)添加为模块库中的jar目录

这就是记忆.如果它是自动化的会更好,但它现在没什么大不了的.

需要注意的一点是:上述方法不适用于新学校的sbt,即版本0.10和更新版本,因为默认情况下它不会将依赖项复制到lib_managed中.你可以加

retrieveManaged := true

到你的build.sbt,使它将依赖项复制到lib_managed.


回复了!使用sbt-idea插件.

3> Jacek Laskow..:

如今,Tempus fugit和IntelliJ IDEA已经变得如此好.毕竟是2015年,不是吗?

话虽如此,最新版本的IntelliJ IDEA 14.0.2支持scb 插件开箱即用的 sbt项目.只需安装插件,您就可以轻松打开Scala/sbt项目.

插件首选项下的Scala插件

我正在使用插件的Early Access版本,即编写时的1.2.67.6.EAP.

使用插件只需指向一个sbt项目,IDEA将为您提供一个向导来打开这种项目.

导入sbt项目

关于sbt 0.12.4中的sbt-idea

对于sbt 0.12.4,系统范围的插件配置文件 - ~/.sbt/plugins/build.sbtPROJECT_DIR/project/plugins.sbt- 应该包含以下行:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

运行sbt gen-idea以生成IDEA项目文件.

阅读sbt-idea插件网站以获取更多最新信息.您还可以找到我的博客条目将基于sbt的项目导入到IntelliJ IDEA 13(使用sbt-idea,Scala 2.11和sbt 0.12)非常有用.



4> opyate..:

对于sbt 0.7

请参阅本页其他地方的答案.

对于sbt 0.10

克隆并建立Ismael的想法:

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

如果您还没有,请创建一个sbt插件lib目录

mkdir -p  ~/.sbt/plugins/lib

将第一步中构建的jar复制到此处

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

重新启动或重新加载sbt,然后就可以运行了gen-idea(或者gen-idea with-classifiers如果你想在intelliJ中使用源代码和javadoc)

资料来源:Tackers对消息组的建议.

在IntelliJ IDEA 13.x本身

您现在可以在IDEA中打开基于SBT的项目.它将创建必要的项目和模块,并在您对构建脚本进行更改时使您的依赖项保持最新.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有