Scala 如何使用IntelliJ Idea创建SBT项目?
我刚刚开始Scala/LiftWeb/Sbt开发,我想在IntelliJ Idea中导入一个Sbt项目。 实际上,我以两种不同的方式导入了我的项目: 1) 和Maven在一起。我创建了一个Maven项目,最重要的是我创建了一个Sbt项目,然后将其导入IntelliJ。然后我就可以轻松地启动、停止jetty服务器,并做其他事情。 但那不是我想要的。我想做同样的事情,只是不受拘束。 这让我想到 2) 随着日食。因此,我创建了一个新的Sbt项目(使用我编写的一个小脚本,将Sbt项目配置为一个WebProject)。然后我使用sbt eclipsify插件为Eclipse“转换”项目,然后将其导入IntelliJ(现有源代码->Eclipse)。 但问题从这里开始:我无法让IntelliJ Sbt插件工作Scala 如何使用IntelliJ Idea创建SBT项目?,scala,intellij-idea,lift,sbt,Scala,Intellij Idea,Lift,Sbt,我刚刚开始Scala/LiftWeb/Sbt开发,我想在IntelliJ Idea中导入一个Sbt项目。 实际上,我以两种不同的方式导入了我的项目: 1) 和Maven在一起。我创建了一个Maven项目,最重要的是我创建了一个Sbt项目,然后将其导入IntelliJ。然后我就可以轻松地启动、停止jetty服务器,并做其他事情。 但那不是我想要的。我想做同样的事情,只是不受拘束。 这让我想到 2) 随着日食。因此,我创建了一个新的Sbt项目(使用我编写的一个小脚本,将Sbt项目配置为一个WebPr
有人能帮我吗?我刚刚经历了这么多痛苦。我花了几天时间试图建立一个可接受的环境,并得出结论,ENSIME、SBT和JRebel将在一段时间内成为我的开发环境。是的,它将回到Emacs,但ENSIME将其转化为重构、调试支持、导航等方面的一点或一个想法。它远不如Eclipse(Java)好,但除非scala插件工作得更好,否则它是我们最好的插件 在Scala开发环境达到标准(Eclipse或IntelliJ)之前,我不想麻烦。他们只是太轻巧了 参见电梯现场的讨论 在这个线程中,有一个指向IntelliJ的HOWTO的链接,但是尽管它有点工作,但是有很多问题使得它没有那么有用
目前,我是手工完成的。这很简单
retrieveManaged := true
将依赖项复制到lib_managed中。创建项目有三种基本方法-IntelliJ的现代版本可以直接导入sbt项目,否则您可以使用sbt插件生成IntelliJ项目,或者使用IntelliJ Scala插件创建sbt项目。使用这两种解决方案,基本功能都是开箱即用的,一些复杂的构建可能会有问题,所以请尝试其他工具,看看它是否在那里工作 IntelliJ IntelliJ IDEA这些天变得更好了。当前版本(14.0.2)支持使用Scala插件开箱即用的sbt项目。只需安装插件,就可以轻松打开Scala/sbt项目 有了这个插件,只要指向一个sbt项目,IDEA就会为您提供一个向导来打开这种项目 IntelliJ Scala插件 IntelliJ插件可以在这里找到 或者可以使用设置->插件对话框从IDE中直接安装。之后,只需执行文件->新项目->Scala->基于SBT的操作。IntelliJ将生成基本build.sbt,下载必要的依赖项并打开项目 SBT插件 基于Sbt文件生成idea项目的Sbt插件可在以下位置找到: SBT 12.0+&13.0+ 只需将
addSbtPlugin(“com.github.mpeltonen”%”sbt idea“%”1.5.2“
添加到build.sbt
;不需要额外的解析器
旧版本:
SBT 0.11+
创建以下行并将其添加到~/.sbt/plugins/build.sbt
或PROJECT\u DIR/PROJECT/plugins.sbt
在sbt中使用gen idea
,创建idea项目文件
默认情况下,如果找到sbt和库依赖项的分类器(即源和javadocs)并将引用添加到IDEA项目文件中,则会加载这些分类器。如果您不想下载/引用它们,请使用命令genidea 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"
使用genidea
sbt任务创建idea项目文件
默认情况下,如果找到sbt和库依赖项的分类器(即源和javadocs)并将引用添加到IDEA项目文件中,则会加载这些分类器。如果您不想下载/引用它们,请使用命令genidea no classifiers no sbt classifiers
SBT 0.7 要使用它,只需从您的sbt外壳运行此程序,它将使用插件作为外部程序:
> *sbtIdeaRepo at http://mpeltonen.github.com/maven/
> *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
...
> update
...
> idea
...
您还可以根据需要在项目定义中添加trait:
import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
// ...
}
对于sbt 0.7 看 对于sbt 0.10 克隆并构建伊斯梅尔的sbt理念:
git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package
如果您还没有sbt插件库目录,请创建一个sbt插件库目录
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中的sources和javadoc)
来源:
在IntelliJ IDEA 13.x本身中
您现在可以在IDEA中打开基于SBT的项目。它将创建必要的项目和模块,并随时更新您的依赖项
cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib
resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")
sbt idea