如何将SBT管理的scala项目与Maven管理的Java项目合并?

时间:2016-05-26 09:40:13

标签: java scala maven sbt

我有一个用Java编写并由Maven管理的遗留应用程序。

最近我想修改代码,使应用程序能够在多台机器的集群上运行。我想从激活器中的akka​​-sample-cluster-scala模板开始,模板用Scala编写并由SBT管理。

我的问题是:如何将两个项目合并在一起,这样我就可以在akka-sample-cluster-scala项目中访问我的Java类,或者将akka-sample-cluster-scala项目中的代码复制到我的Java项目中并使它工作。

2 个答案:

答案 0 :(得分:1)

Maven和SBT拥有完全独立的插件集,但使用相同的Maven Central存储库来下载依赖项和相同的目录约定。

要在Maven项目中使用示例,我会尝试在Maven构建中配置Scala Maven Plugin。这似乎更简单。但是,如果您想使用SBT,您需要:

  1. 创建SBT项目
  2. 将Java代码放到 src / main / java ,或者如果此代码包含多个模块,则复制整个多模块结构。
  3. 将依赖项复制到SBT构建文件。
  4. 查找SBT的插件等效项(如果存在)并在SBT中配置它们。虽然看起来很棘手......

答案 1 :(得分:0)

使Maven项目成为SBT项目的库依赖项。

resolvers += Resolver.mavenLocal
libraryDependencies += "com.originjing" %% "legacy-app" & "1.0.0"