簡體   English   中英

是否建議為Maven項目分離Scala和Java源文件?

[英]Is it recommended to separate Scala and Java source files for a Maven project?

我一直在研究一個完全由Java組成的Maven項目,最近開始將Scala代碼混合到其中。

我很驚訝Scala提供的出色表現力,scala-maven-plugin的易用性,特別是Java和Scala之間令人難以置信的互操作性。

但是,我遇到了一個不便; 根據Maven的慣例,Java的源代碼進入src/main/java ,而Scala進入src/main/scala 我發現它非常繁瑣,因為我必須經常來回傳遞Java和Scala源文件,每次我必須遍歷包目錄的深層次結構(我經常關閉選項卡以防止編輯器混亂)。

所以問題是 :是否建議維護單獨的目錄src/main/javasrc/main/scala 如果是這樣,為什么?

為了增加更多背景知識,我一直在研究Web應用程序框架Wicket,它的慣例是將HTML文件與相應的Java文件放在一起。 如果我們保持目錄分離,HTML文件自然也是分開的(我不認為將Scala文件和相應的HTML文件放在不同的目錄中是有意義的)。 然后它“為什么我找不到Foo.html?哦,我正在尋找錯誤的目錄。”

源文件本身很容易通過檢查它們的擴展來區分人和機器。 我配置了pom.xml來處理在src/main/java放在一起的Java和Scala,並且它可以工作( 編譯和運行 )。 另一方面,分離目錄會帶來在Java和Scala中定義沖突類的風險,這是一個粗心的錯誤。

好吧,如果它不僅包含Java,還包含Scala,我不想命名目錄java 但這是我能夠提出的分離目錄的唯一一點。
(編輯:我提出了一個解決方法 - 解釋;讓我們認為java代表Java虛擬機 。這樣,如果我們決定使用JNI,那么讓src/main/c不矛盾,因為C沒有在JVM上運行。)

哦,還有一點; 我的項目不是一個開源項目; 開發便利性比努力遵循慣例更受歡迎。

這個問題的靈感來自於這個答案

我會說是的,盡可能多地重用代碼。 也許將來你可以在其他地方使用這個Java作品......

您可能知道,您可以在Scala項目中使用Java,但在Java項目中不使用Scala。 所以在這個具體的例子中,它將幫助你(未來?)Java項目。 如果要重用一段Java代碼,可以在Java項目和Scala項目中執行此操作。

所以它不會停留在src / main / ...但是你應該把它們放在不同的組件中。


順便說一下,小方注意:如果我是正確的,Wicket允許你將html放在其他地方,即使是在另一個項目中...我看到它只是方便(只)一次,我們不得不為不同的前端創建不同的前端我們的客戶。 java代碼保持不變,wicket-id也是如此,但html到處都有變化。 盡管使用Qwicky插件確實給我們帶來了一些問題,因為它無法在我們的IDE中找到html文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM