sbt子项目是否可以有自己的project
目录?或者只有根项目可以用。Scala帮助器文件为构建项目的目录?。下面是我目前的建筑结构。/my-project/sub-projects/sub-project-1/build.sbt
无法访问/my-project/sub-project/sub-project/sub-project-1/subproject-1/subproject-1/subproject-1/scala
中定义的对象。
/my-project
build.sbt
/projects
Helper.scala
sub-projects
sub-project-1
build.sbt
/projects
SubProjectHelper.scala
更新:sub-project-1/build.sbt中的以下sbt定义
lazy val localhost = (project in file(".")).settings (
name := """localhost""",
version := Common.version,
scalaVersion := Common.scalaVersion,
libraryDependencies ++= Common.dependencies,
libraryDependencies ++= Localhost.dependencies
)
由于以下错误而失败
libraryDependencies ++= Localhost.dependencies
^
sbt.compiler.EvalException: Type error in expression
at sbt.compiler.Eval.checkError(Eval.scala:384)
at sbt.compiler.Eval.compileAndLoad(Eval.scala:183)
at sbt.compiler.Eval.evalCommon(Eval.scala:152)
at sbt.compiler.Eval.evalDefinitions(Eval.scala:122)
at sbt.EvaluateConfigurations$.evaluateDefinitions(EvaluateConfigurations.scala:271)
at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:109)
at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:712)
Common在/my-project/projects/Common.scala中定义,没有问题。但是Localhost是在/my-project/sub-projects/sub-project-1/projects/sub-project-1/projects/subprojectHelper中定义的。scala在sub-project-1构建中没有正确地解析。sbt
是的,它们可以,而且您甚至不需要有子项目
目录,只需将sub-project-1
放在my-project
目录中即可。
我正在使用sbt 0.13.12,这是我的项目 在构建中。sbt取决于公共。如果我按sbt project sub1 run运行就可以了。但是,当我将子项目打包为jar文件时,我运行sub1。jar文件中,错误显示sub1无法找到一类公共的。 我的目的是包装sub1。jar和sub2。在每个jar文件中编译带有通用代码的jar。 --更新-- 我尝试作为建议回答。运行时遇到这个问题: 而且,是的!
但是,在编译ApplicationA时,SBT抱怨依赖项只能是子目录!!: 这看起来很简单,拥有这个项目依赖项的正确方法是什么?
我有一个Gradle多项目构建,看起来像这样: 我希望将目录< code>shared中的所有项目作为依赖项添加到< code>plugins中的所有项目。 更一般地说:我如何按目录配置子项目? settings.gradle的内容: build.gradle的内容:
免责声明:我是sbt和Scala的新手,所以我可能会错过一些明显的东西。 我的目标是将Scala编译器用作我主要项目中的库。我最初是通过手动将scala JAR放在项目的libs目录中,然后将该目录包含在我的类路径中来实现的。注意,当时我没有使用sbt。现在,我想使用sbt并从github下载scala源代码,构建scala JAR,然后构建我的项目。我首先创建两个目录:
我有一个多模块java项目,我想在其中创建jar(bin、source、javadoc),但我很难从子项目配置中的子项目中获取变量。 这是我在根项目中的build.gradle文件: 这就是建筑。gradle文件子项目之一: 当我想运行构建脚本时,我得到了以下异常: 无法获取类型为org的对象的未知属性“mainClassName”。格雷德尔。应用程序编程接口。JAVA档案内部的默认舱单。 在子流