由於所有語言都最終編譯爲JVM,我可以在一個項目中自由混合所有文件類型嗎?在一個項目中混合java,scala和xtend文件?
例如,我可以將所有類型的文件交換到Eclipse項目中嗎?如果我這樣做了,我怎麼能確定當我運行我的一些主類時,所有的文件都被編譯了?
這裏的任何指南如何將Scala和Xtend部分嵌入到大型Java項目中?不是從頭開始使用指南?
由於所有語言都最終編譯爲JVM,我可以在一個項目中自由混合所有文件類型嗎?在一個項目中混合java,scala和xtend文件?
例如,我可以將所有類型的文件交換到Eclipse項目中嗎?如果我這樣做了,我怎麼能確定當我運行我的一些主類時,所有的文件都被編譯了?
這裏的任何指南如何將Scala和Xtend部分嵌入到大型Java項目中?不是從頭開始使用指南?
你可以 - 只是使有關Maven插件/ eclipse的性質
我能想到的唯一的問題是,如果你有他們之間的循環依賴。 scala編譯器足夠聰明,可以閱讀和理解java源代碼,並解決scala和java之間的循環依賴關係,但我懷疑它理解xtend - 因此您可能必須避免scala和xtend類之間的循環依賴關係,並選擇一個編譯順序(xtend然後scala,或scala然後xtend)。我假設類似的推理將適用於xtend - xtend和java之間的循環依賴可能沒問題,xtend和scala之間的循環依賴可能不會。當然,這種循環依賴在任何情況下都是不好的。
我會問你爲什麼要這樣做。 Xtend是爲了給你帶來scala最重要的優點,而不需要全部語言的複雜性。但是,如果你要學習並讓你的項目依賴scala,我看不出在xtend中編寫它的一部分會帶來什麼好處。
我在期待這種學習方式:只在Scala或Xtend中編寫一些類,而使大部分項目成爲普通的Java。 – 2015-02-08 09:02:44
我真的不建議試着同時學習; Scala是一門複雜的語言,需要你全神貫注。 – lmm 2015-02-08 09:05:04