为什么sbt控制台看不到多模块项目中子项目的软件包?

叶卡

这是我的项目/Build.scala

package sutils

import sbt._
import Keys._

object SutilsBuild extends Build {

  scalaVersion in ThisBuild := "2.10.0"

  val scalazVersion = "7.0.6"

  lazy val sutils = Project(
    id = "sutils",
    base = file(".")
  ).settings(
    test := { },
    publish := { }, // skip publishing for this root project.
    publishLocal := { }
  ).aggregate(
    core
  )

  lazy val core = Project(
    id = "sutils-core",
    base = file("sutils-core")
  ).settings(
    libraryDependencies += "org.scalaz" % "scalaz-core_2.10" % scalazVersion
  )
}

这似乎可以很好地编译我的项目,但是当我进入控制台时,我无法导入刚刚编译的任何代码?

$ sbt console
scala> import com.github.dcapwell.sutils.validate.Validation._
<console>:7: error: object github is not a member of package com
       import com.github.dcapwell.sutils.validate.Validation._

我在这里做错了什么?试图查看用法,我看不到在控制台中说要加载哪个子项目的方法

$ sbt about
[info] Loading project definition from /src/sutils/project
[info] Set current project to sutils (in build file:/src/sutils/)
[info] This is sbt 0.13.1
[info] The current project is {file:/src/sutils/}sutils 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.3
[info] Available Plugins: org.sbtidea.SbtIdeaPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3
杰西克·拉斯考夫斯基(Jacek Laskowski)

@ Alexey-Romanov提供了一种解决方案,console可以在要导入类的项目中启动任务。

sbt sutils/console

但是,还有另一个解决方案使根sutils项目依赖于另一个项目core使用以下代码片段设置项目-注意dependsOn core,这会将类从core项目移到sutils的名称空间。

lazy val sutils = Project(
  id = "sutils",
  base = file(".")
).settings(
  test := { },
  publish := { }, // skip publishing for this root project.
  publishLocal := { }
).aggregate(
  core
).dependsOn core

顺便说一句,您实际上应该build.sbt为您的用例使用一个更简单的方法,如下所示:

scalaVersion in ThisBuild := "2.10.0"

val scalazVersion = "7.0.6"

lazy val sutils = project.in(file(".")).settings(
  test := {},
  publish := {}, // skip publishing for this root project.
  publishLocal := {}
).aggregate(core).dependsOn(core)

lazy val core = Project(
  id = "sutils-core",
  base = file("sutils-core")
).settings(
  libraryDependencies += "org.scalaz" %% "scalaz-core" % scalazVersion
)

将构建分为两个build.sbts时,可以使项目变得更加容易

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么sbt控制台看不到多模块项目中子项目的软件包?

来自分类Dev

IntelliJ IDEA在子项目中看不到从protobuf文件生成的类

来自分类Dev

如何依赖Github的多模块SBT项目的子项目

来自分类Dev

如何依赖Github的多模块SBT项目的子项目

来自分类Dev

sbt控制台-为所有子项目设置scala版本

来自分类Dev

如何在具有多个子项目的SBT项目中覆盖子项目中的设置

来自分类Dev

在电子项目中找不到模块

来自分类Dev

为什么sbt会覆盖子项目中的scala版本?

来自分类Dev

为什么我看不到来自Serilog的控制台日志?

来自分类Dev

为什么在此Java动态Web项目中看不到任何主要方法?

来自分类Dev

为什么在XCode项目中看不到“构建阶段”选项卡?

来自分类Dev

为什么SBT不使用根项目中的解析器(在多模块项目中)

来自分类Dev

如何获取列表中子项目的ID?

来自分类Dev

阵列中子项目的Firebase安全规则

来自分类Dev

如何在Maven中创建多模块项目?这样子项目的所有代码库都可以放在父项目中

来自分类Dev

从子项目引用sbt根项目中的设置

来自分类Dev

Gradle插件可以修改多模块项目中的子项目列表吗?

来自分类Dev

SBT:子项目中的plugins.sbt被忽略?

来自分类Dev

Visual Studio 2013 ASP.NET项目中的Antlr软件包的目的是什么?

来自分类Dev

使用Jest测试节点应用程序时为什么看不到控制台日志输出

来自分类Dev

为什么在打开H2控制台时看不到Java添加的表?

来自分类Dev

为什么在打开H2控制台时看不到Java添加的表?

来自分类Dev

使SBT子项目中的编译操作依赖于其他子项目的编译,而无需将其添加到classpath中

来自分类Dev

子项目的sbt运行失败,并显示“协议错误”

来自分类Dev

sbt 子项目:dependsOn

来自分类Dev

为什么我不能在QBS项目中使用控制台输出?

来自分类Dev

Python在Jupyter Notebook中看不到软件包

来自分类Dev

Eclipse即使在软件包中也看不到文件

来自分类Dev

从AWS控制台看不到阻止设备

Related 相关文章

  1. 1

    为什么sbt控制台看不到多模块项目中子项目的软件包?

  2. 2

    IntelliJ IDEA在子项目中看不到从protobuf文件生成的类

  3. 3

    如何依赖Github的多模块SBT项目的子项目

  4. 4

    如何依赖Github的多模块SBT项目的子项目

  5. 5

    sbt控制台-为所有子项目设置scala版本

  6. 6

    如何在具有多个子项目的SBT项目中覆盖子项目中的设置

  7. 7

    在电子项目中找不到模块

  8. 8

    为什么sbt会覆盖子项目中的scala版本?

  9. 9

    为什么我看不到来自Serilog的控制台日志?

  10. 10

    为什么在此Java动态Web项目中看不到任何主要方法?

  11. 11

    为什么在XCode项目中看不到“构建阶段”选项卡?

  12. 12

    为什么SBT不使用根项目中的解析器(在多模块项目中)

  13. 13

    如何获取列表中子项目的ID?

  14. 14

    阵列中子项目的Firebase安全规则

  15. 15

    如何在Maven中创建多模块项目?这样子项目的所有代码库都可以放在父项目中

  16. 16

    从子项目引用sbt根项目中的设置

  17. 17

    Gradle插件可以修改多模块项目中的子项目列表吗?

  18. 18

    SBT:子项目中的plugins.sbt被忽略?

  19. 19

    Visual Studio 2013 ASP.NET项目中的Antlr软件包的目的是什么?

  20. 20

    使用Jest测试节点应用程序时为什么看不到控制台日志输出

  21. 21

    为什么在打开H2控制台时看不到Java添加的表?

  22. 22

    为什么在打开H2控制台时看不到Java添加的表?

  23. 23

    使SBT子项目中的编译操作依赖于其他子项目的编译,而无需将其添加到classpath中

  24. 24

    子项目的sbt运行失败,并显示“协议错误”

  25. 25

    sbt 子项目:dependsOn

  26. 26

    为什么我不能在QBS项目中使用控制台输出?

  27. 27

    Python在Jupyter Notebook中看不到软件包

  28. 28

    Eclipse即使在软件包中也看不到文件

  29. 29

    从AWS控制台看不到阻止设备

热门标签

归档