当前位置: 首页 > 知识库问答 >
问题:

如何在scala对象中从sbt ProjectPlugin.scala中加载对象

裴彦
2023-03-14

我们在基于sbt的项目中有多个项目(如下所示),并探索如何在运行时从scala对象中获得应用程序jar名称,例如“project1-v1.jar”。

使用“SBT Assembly”为每个项目创建单独的jar。

Project1
-- main
|   |  |-- resources
|   |  |-- scala
|   |       |-- Test.scala
                import project1._ //=> Is is possible to load from ProjectPlugin.scala?
                val JarName = s"$name-$version"
Project2
.
.
project
  ProjectPlugin.scala
    import sbt._
                import sbt._

                object project1{
                  name := "project1",
                  version := "v1"
                }

                object project2{
                  name := "project2",
                  version := "v2"
                }
.
.
build.sbt

共有1个答案

柴宝
2023-03-14

如果它能帮助类似情况下的人,我发现sbt插件sbt-buildinfo帮助我实现了这一点。

 类似资料:
  • 问题内容: 我正在尝试kafka.utils.ZKStringSerializer用clojure创建一个scala对象。(在org.apache.kafka/kafka_2.10 “0.8.0”) 由于我对scala知之甚少,所以我不知道如何调用它的构造函数。我这样尝试过: 并得到一个错误: 我尝试使用来查看其方法,但是只有一些静态方法。并告诉我这是一类,而不是我想要的实例。 该对象的实现如下:

  • 我想避免急切的抓取。如何实现这段代码,这样我就可以随机获取User,它是UserGroup的一部分,它是DocumentType对象中SubmissionUserGroups的一部分。

  • 问题内容: 如何Foo从Java访问包对象中包含的对象? 问题答案: 也许从Scala 2.8.1开始,这已经发生了变化,但是该提议不起作用。您必须使用。 对于对象,方法等,它有所不同。考虑到scala类: 您可以访问foo,bar而baz在Java中,如: 当我试图弄清楚这一点时,我以为我们遇到了麻烦,因为Scala生成了一个名为的类,当然您不能在Java中导入该类。幸运的是,我们只需要pack

  • IllegalArgumentException:无法向模块的配置'it'添加依赖项'jUnit#jUnit;4.11',因为该配置不存在! 我想我需要导入IntegrationTest配置。我尝试在dependencies.scala中导入IntegrationTest配置: IntegrationTest是在Configurations对象中定义的惰性val: 但这并没有解决问题。 有人有办法

  • 我有一个对象列表(文件夹)。该列表中的每个对象A都有一个对象B(合作伙伴)列表,对象B也有一个对象C(人员)列表。对象C包含一个属性代码,我想用它来使用Java8进行过滤。 我试过下面的代码,但它似乎不工作: 你们知道我如何使用FlatMap从

  • 问题内容: 我有一个Scala对象,需要在Java类中使用。 这是Scala对象 如何在Java中使用此Scala对象? 到目前为止,我已经尝试了以下操作,但未成功(编译错误): //返回一个没有用的字符串,因为我想要实际的Person对象 问题答案: 编辑 :一个工作示例(我检查过,它可以编译并工作):Scala: Java对应项: