在project / Build.scala中具有项目定义的Intellij sbt插件

思茅

sbt在Intelli-j 13.1中使用以下项目结构

.
├── build.sbt
├── project
│   ├── Build.scala
│   ├── plugins.sbt
├── src
│   ├── main
│   └── test
└── target

我的built.sbt方法很简单,我只声明一些依赖项。

project/Build.scala的有点复杂,它使用以下方法定义了一个新项目:

惰性val RiepeteKernel = Project(id =“ riepete-kernel”,base = file(“。”),设置= defaultSettings)

Intellij似乎不喜欢它。它在项目设置中设置了两个附加模块,如下所示:

在此处输入图片说明

当我尝试编译项目时,出现以下错误:

  Error:scalac: Output path /home/simao/code/riepete/project/target/idea-test-classes is shared between: 
  Module 'riepete-build' tests, Module 'riepete-kernel-build' tests Output path /home/simao/code/riepete/project/target/idea-classes 
  is shared between: Module 'riepete-build' production,
  Module 'riepete-kernel-build' production   Please configure separate output
  paths to proceed with the compilation.
  TIP: you can use Project Artifacts to combine compiled classes if needed.

Since I just need my extra project to run sbt dist on the console, if I delete the two additional modules that intellij creates everything works, but I need to do this every time I restart intellij.

Is there a way to make intellij not create these two additional modules?

Thank you

Nader Ghanbari

It depends on you version of sbt but at least in version 0.13.x you can use project macro like this:

lazy val riepete = project.in( file(".") )

This way IntelliJ idea won't create an additional module.

You can even put this is your build.sbt. According to my experience in most cases you can just maintain a simple build.sbt file, especially with latest versions of sbt. Anyway I guess keeping it in one place makes sense: build.sbt or Build.scala in project folder.

如果您的项目或子项目文件夹名称包含-或其他字符,则可以始终使用反勾号,例如:

lazy val `riepete-project` = project

在这种情况下,您甚至不需要使用.in(file(....宏,因为宏将根据模块的名称从正确的文件夹中选择文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

build.sbt和project / Build.scala是否冗余?

来自分类Dev

SBT如何在插件任务执行中使用Build.sbt中的类

来自分类Dev

project / build.sbt和project / BuildApp.scala有什么区别?

来自分类Dev

project / build.sbt和project / BuildApp.scala有什么区别?

来自分类Dev

`。/ build.sbt`和`。/ project / build.sbt`有什么区别?

来自分类Dev

如何在Build.scala中设置sbt-proguard插件

来自分类Dev

SBT Scala Assembly插件

来自分类Dev

如何在project / plugins.sbt和project / Build.scala之间共享版本值?

来自分类Dev

播放build.scala到build.sbt不适用于secureSocial插件。我不明白为什么?

来自分类Dev

播放build.scala到build.sbt不适用于secureSocial插件。我不明白为什么?

来自分类Dev

SBT插件%%%在哪里定义?

来自分类Dev

IntelliJ无法识别Scala的build.sbt

来自分类Dev

在IntelliJ IDEA 14中启用sbt插件

来自分类Dev

如何运行sbt插件中定义的任务

来自分类Dev

IntelliJ中的SBT Project和Scala模块有什么区别?

来自分类Dev

IntelliJ中的SBT Project和Scala模块有什么区别?

来自分类Dev

如何在 Build.scala 中定义 SBT Release 任务?

来自分类Dev

Why does my project have no build.sbt file?

来自分类Dev

找不到IntelliJ Idea 12的SBT插件

来自分类Dev

如何列出SBT项目中的活动插件?

来自分类Dev

Sbt 自动插件覆盖项目设置

来自分类Dev

使用自定义sbt插件

来自分类Dev

使用自定义sbt插件

来自分类Dev

如何在插件自己的项目中使用SBT插件?

来自分类Dev

在SBT中添加sbt本机打包程序插件

来自分类Dev

找不到所有sbt插件

来自分类Dev

非托管jar文件中的SBT插件

来自分类Dev

插件sbt中的条件解析器

来自分类Dev

IntelliJ Build> Rebuild Project是否调用Maven?

Related 相关文章

热门标签

归档