Scala 和 Java 在同一项目中简短的回答更长的答案

2022-09-04 02:23:08

我可以在同一项目中使用Scala和Java吗?我是编程新手,所以这对我来说有点令人困惑。

从我的研究中,我读到,获得一个好项目的最佳组合是Java/Spring或Scala/Lift的组合。为什么存在这些组合?难道不能将 Scala 与 Spring 一起使用,或者将 Java 与 Lift 一起使用吗?

如果我使用Scala,我应该在Scala代码中拥有整个配置吗?或者我可以有外部资源,所以我不应该每次修改Scala代码。


答案 1

问:我可以在同一项目中使用Scala和Java吗?

当然可以。您可以在同一项目中同时使用大多数基于 JVM 的语言。

问:我该怎么做?

基本思想是配置构建工具以编译Java和Scala代码。例如,如果您使用Maven,则可以使用Maven Scala插件来编译Scala代码。使用此插件有两个选项:

  1. 禁用默认情况下编译 Java 代码的 Maven 编译器插件。然后,让 Maven Scala 插件编译 Java 和 Scala 代码。
  2. 继续使用 Maven 编译器插件编译 Java。将 Maven Scala 插件配置为仅编译 Scala 代码。

我更喜欢选项2,因为我发现Scala编译非常慢(尽管每个新的Scala版本的性能都在稳步提高),因此使用Maven Compiler插件可以减少整体构建时间。

问:难道不能将 Scala 与 Spring 一起使用,或者将 Java 与 Lift 一起使用吗?

当然,你可以将Scala与Spring一起使用,将Java与Lift一起使用。你可以检查我使用Java,Scala和Spring的示例应用程序

您会注意到,示例应用程序具有用于 Java 和 Scala 代码的单独源文件夹,尽管这不是必需的,可以在 Maven 配置中进行配置。

问:如果我使用Scala,我应该在Scala代码中拥有整个配置吗?

我假设你的意思是弹簧配置。是否希望使用XML文件,Java类或Scala类来配置Spring完全取决于您。所有方法都有效。这取决于您更喜欢哪种风格。

您甚至可以将配置分散到多个类中,甚至是 XML 和类的组合中。


答案 2

简短的回答

是的

更长的答案

Scala和Java可以很好地协同工作。

Scala的主要编译目标是在任何JVM上运行的Java字节码。除了运行时兼容性之外,Scala语言本身还支持互操作性。

因此,基本项目设置如下所示

./src
   /main
       /scala
       /java
    test
        /scala
        /java

如何将所有内容绑定在一起取决于您正在使用的构建系统,即,或者所有系统都在此处提供了良好的支持。sbtgradlemaven


推荐