当前位置:  开发笔记 > 编程语言 > 正文

使用maven构建一个scala应用程序(混合了java源代码)

如何解决《使用maven构建一个scala应用程序(混合了java源代码)》经验,为你挑选了3个好方法。

我有一个应用程序,我希望混合Java和Scala源(实际上它将Java应用程序迁移到scala - 但有时一点).

我可以在IDE中使这项工作很好,非常好.但是我不知道怎么用maven做这个 - scalac可以编译java和scala交织在一起,但是如何为模块设置maven?

另外,我的scala源是否必须是与java不同的文件夹?



1> Michael Neal..:

使用maven scala插件,如下所示的配置将适用于混合java和scala源的项目(scala源当然位于/ scala目录中,如其他人所述).

你可以运行运行mvn编译,测试等...它将全部正常工作.非常好(它会自动运行scalac).

对于一个出色的IDE,IntelliJ 8可以很好地工作:添加scala插件,然后添加一个scala facet,然后调整scala的编译设置以首先运行scalac(如果你有scala和java源的循环依赖关键,则很关键).


4.0.0
demo
scala-java-app
0.0.1-SNAPSHOT
jar
scala-java-app

    
        scala-tools.org
        Scala-tools Maven2 Repository
        http://scala-tools.org/repo-releases
    


    
        scala-tools.org
        Scala-tools Maven2 Repository
        http://scala-tools.org/repo-releases
    


    
        
            org.scala-tools
            maven-scala-plugin
            

                
                    compile
                    
                        compile
                    
                    compile
                
                
                    test-compile
                    
                        testCompile
                    
                    test-compile
                
                
                   process-resources
                   
                     compile
                   
                
            
        
        
            maven-compiler-plugin
            
                1.5
                1.5
            
        
      


    
        org.scala-lang
        scala-library
        2.7.2
    
    
        junit
        junit
        3.8.1
        test
    


我知道这篇文章很老但仍然出现在Google上,所以我会说你不再需要添加scala-tools存储库了.你需要的所有东西都在中央.

2> sblundy..:

是的,scala部分必须位于单独的模块和src/main/scala目录中.Maven认为像这样的混合来源是异端邪说.

您可以通过导入scala maven插件来启用scala编译.在"用法"页作为一个很好的例子.


首先,Java和Scala文件可以位于同一个模块中.第二,它们也可以在同一个源目录中.你只需要设置scala插件的maven选项配置 - > sourceDir来告诉maven源文件的位置.

3> lindelof..:

我曾经问过一个非常类似的问题,关于如何在Maven项目中包含非Java代码.答案的要点是在src下为每种编程语言设置一个不同的目录,并查找/编写一个知道如何处理每个编程语言的Maven插件.例如:

src/
|-- main
|   |-- bin
|   |-- sh
|   |-- sql
|   |-- scala
|   |-- java
|   `-- resources
|-- site
...

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有