2016-03-01 90 views
3

我可以在同一個項目中使用Scala和Java嗎?我是編程新手,所以對我來說有點混亂。Scala和Java在同一個項目中

從我的研究中我已經讀到,獲得一個好項目的最佳組合是Java/Spring或Scala/Lift的組合。爲什麼這些組合存在?使用Scala與Spring或Java搭配Lift是不可能的?

如果我使用Scala,我應該在Scala代碼中擁有整個配置嗎?或者我可以擁有外部資源,所以我不應該每次修改Scala代碼。

回答

3

簡短的回答

再回應

Scala和Java的工作好起來。

Scala主編譯目標可以編譯爲運行在任何JVM上的Java字節碼。除了運行時兼容性之外,Scala語言本身還支持互操作性。

所以基本項目的設置是這樣

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

一切是如何結合在一起是由你所使用的編譯系統確定,即sbtgradlemaven都在這裏提供了很好的支持。

+0

當我用'java'使用'scala'時,獲得哪些好處?我可以用'java'來創建後端員工,而不需要'scala'?你能解釋更多請:)謝謝! –

+0

沒問題。即使你使用Scala編寫的庫,你仍然可以從Java調用它,你不需要Scala。 –

4

問:我可以在同一個項目中使用Scala和Java嗎?

當然,你可以。您可以在同一個項目中一起使用大多數基於JVM的語言。

問:我該如何去做?

其基本思想是配置構建工具以編譯Java和Scala代碼。例如,如果您使用Maven,則可以使用Maven Scala plugin編譯Scala代碼。有兩種使用此插件的選項:

  1. 禁用Maven Compiler plugin默認編譯Java代碼。然後,讓Maven Scala插件編譯Java和Scala代碼。
  2. 繼續使用Maven Compiler插件編譯Java。配置Maven Scala插件僅編譯Scala代碼。

我更喜歡選項2,因爲我發現Scala編譯速度很慢(儘管每個新Scala版本的性能一直在穩步提高),所以使用Maven Compiler插件可以縮短總體構建時間。

問:是不是可以在Spring中使用Scala或帶有Lift的Java?

當然,您可以使用Scala與Spring和Java與電梯。你可以檢查使用Java,Scala和Spring的my sample application

您會注意到示例應用程序具有用於Java和Scala代碼的獨立源文件夾,但這不是強制性的,可以在Maven配置中進行配置。

問:如果我使用Scala,我應該在Scala代碼中擁有整個配置嗎?

我假設你的意思是彈簧配置。您是否希望使用XML文件,Java類或Scala類來配置Spring完全取決於您。所有方法都有效。這取決於你更喜歡和喜歡哪種風格。

您甚至可以將配置分佈到多個類甚至是XML和類的組合中。

相關問題