栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

参考 Apache Spark 实现 Java 和 Scala 的 maven 混合编译

大数据系统 更新时间:发布时间: 百科书网 趣学号
前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文 WHY

如果你开发过 Scala 工程,那么你可能被 Java 和 Scala 的混合编译苦恼过。

如果你搜索了网上其他的 Java 和 Scala 混合编译文档,那么你可能被坑过,不是 Java 没法编译,就是 Scala 没法编译,还有可能都无法编译。。

WHAT

下面的示例代码参考自 Apache Spark(3.2.0) 的源码,你尽可以将它拷贝到你的 maven 工程中。

如果你对 Apache Spark 不陌生的话,就明白它就是属于 Java 和 Scala 混合编译的 maven 工程,并且经历了诸多大厂的生产检验。

pom.xml

    4.0.0
    com.shockang.study
    algorithm
    1.0-SNAPSHOT
    
        1.8
        2.12.15

        5.8.1

        4.3.0
        3.8.1
    

    
        
        
            org.scala-lang
            scala-compiler
            ${scala.version}
        
        
            org.scala-lang
            scala-reflect
            ${scala.version}
        
        
            org.scala-lang
            scala-library
            ${scala.version}
        
        

        
        
            org.junit.jupiter
            junit-jupiter-api
            ${junit.version}
            test
        
        

    

    
        
            
            
                net.alchim31.maven
                scala-maven-plugin
                ${scala-maven-plugin.version}
                
                    
                        eclipse-add-source
                        
                            add-source
                        
                    
                    
                        scala-compile-first
                        
                            compile
                        
                    
                    
                        scala-test-compile-first
                        
                            testCompile
                        
                    
                    
                        attach-scaladocs
                        verify
                        
                            doc-jar
                        
                    
                
                
                    ${scala.version}
                    true
                    true
                    incremental
                    
                        -unchecked
                        -deprecation
                        -feature
                        -explaintypes
                        -target:jvm-${java.version}
                        -Xfatal-warnings
                        -Ywarn-unused:imports
                        -P:silencer:globalFilters=.*deprecated.*
                    
                    
                        -Xss128m
                        -Xms4g
                        -Xmx6g
                        -XX:MaxmetaspaceSize=2g
                        -XX:ReservedCodeCacheSize=4g
                    
                    
                        -source
                        ${java.version}
                        -target
                        ${java.version}
                        -Xlint:all,-serial,-path,-try
                    
                    
                        
                            com.github.ghik
                            silencer-plugin_${scala.version}
                            1.7.6
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                ${maven-compiler-plugin.version}
                
                    ${java.version}
                    ${java.version}
                    true 
                    true 
                
            
        
    


上面的源码来自我的 github 开源项目 algorithm,你可以从我的这篇博客了解具体情况——LeetCode 刷题汇总

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/600836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号