簡體   English   中英

混合 scala/java 項目,哪個先編譯?

[英]mixed scala/java project, which compile first?

有一些基於代碼的類似問題,但我想以更一般的方式提問。

假設有java源碼和scala源碼,好像要加上scala-maven-plugin

  1. 那么是否有一個默認配置首先編譯,scala 或 java?
  2. 如果我們要scala代碼依賴java,或者相反,怎么辦呢? (比如插件中scala-compile-first ?)
  3. 是否有可能某些 scala 代碼依賴於 java,而某些 java 代碼也依賴於 scala?
  1. java 首先編譯,如果兩個編譯都在它們的默認階段運行
  2. scala 依賴於 java,無需自定義,這是默認行為。 如果 java 依賴於 scala,您應該在process-resources之前的一個階段強制編譯 scala 代碼。
  3. 是的,你可以“混合”scala/java,在這種情況下,scala 編譯器應該在運行之前運行並注意 java 源(scala 編譯器將解析它們以提取 API)。 首先和scala一樣的配置
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>scala-compile-first</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>
    ...

例如,請參閱文檔: Mixed Java/Scala Projects – scala-maven-plugin或集成測試scala-maven-plugin/src/it at master · davidB/scala-maven-plugin

暫無
暫無

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

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