【问题标题】:Scala and Java in same projectScala 和 Java 在同一个项目中
【发布时间】:2016-06-13 17:20:07
【问题描述】:

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

根据我的研究,我了解到获得一个好的项目的最佳组合是 Java/Spring 或 Scala/Lift 的组合。为什么存在这些组合?是否可以将 Scala 与 Spring 或 Java 与 Lift 一起使用?

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

【问题讨论】:

    标签: java spring scala lift


    【解决方案1】:

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

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

    问。我该怎么做?

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

    1. 禁用默认编译 Java 代码的Maven Compiler plugin。然后,让 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 的my sample application。

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

    问。如果我使用 Scala,我应该在 Scala 代码中进行整个配置吗?

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

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

    【讨论】:

      【解决方案2】:

      简答

      是的

      更长的答案

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

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

      所以基本的项目设置看起来像

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

      如何将所有内容绑定在一起取决于您使用的构建系统,即sbt、gradle 或maven 都在这里提供了良好的支持。

      【讨论】:

      • 当我将scala 与java 一起使用时,我得到了哪些好处?我可以用java 做空洞后端人员,不需要scala?你能解释一下吗:)谢谢!
      • 没错。即使使用 Scala 编写的库,您也不需要 Scala,您仍然可以从 Java 中调用它。
      • Java代码和Scala代码是否需要分开放在不同的文件夹/包中?
      猜你喜欢
      • 2010-11-05
      • 2016-02-23
      • 1970-01-01
      • 2012-03-29
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2014-06-08
      相关资源
      最近更新 更多