使用mvn命令创建Flink Maven项目和”胖JAR“打包

1.使用命令行工具cd到你要创建项目的目录下,然后使用命令行创建Flink Maven Quickstart Scala项目

mvn archetype:generate  \
    -DarchetypeGroupId=org.apache.flink \
    -DarchetypeArtifactId=flink-quickstart-scala    \
    -DarchetypeVersion=1.10.0   \
    -DgroupId=org.apache.flink.quickstart   \
    -DartifactId=flink-scala-project   \
    -Dversion=0.1   \
    -Dpackage=org.apache.flink.quickstart   \
    -DinteractiveMode=false

2.pom.xml文件内容


    4.0.0

    org.apache.flink.quickstart
    flink-scala-project
    0.1
    jar

    Flink Quickstart Job
    http://www.myorganization.org

    
        
            apache.snapshots
            Apache Development Snapshot Repository
            https://repository.apache.org/content/repositories/snapshots/
            
                false
            
            
                true
            
        
    

    
        UTF-8
        1.10.0
        2.11
        2.11.12
    

    
        
        
        
            org.apache.flink
            flink-scala_${scala.binary.version}
            ${flink.version}
            provided
        
        
            org.apache.flink
            flink-streaming-scala_${scala.binary.version}
            ${flink.version}
            provided
        

        
        
            org.scala-lang
            scala-library
            ${scala.version}
            provided
        

        

        

        
        
        
            org.slf4j
            slf4j-log4j12
            1.7.7
            runtime
        
        
            log4j
            log4j
            1.2.17
            runtime
        
    

    
        
            
            
            
                org.apache.maven.plugins
                maven-shade-plugin
                3.1.1
                
                    
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    org.apache.flink:force-shading
                                    com.google.code.findbugs:jsr305
                                    org.slf4j:*
                                    log4j:*
                                
                            
                            
                                
                                    
                                    *:*
                                    
                                        META-INF/*.SF
                                        META-INF/*.DSA
                                        META-INF/*.RSA
                                    
                                
                            
                            
                                
                                    org.apache.flink.quickstart.StreamingJob
                                
                            
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    1.8
                    1.8
                
            

            
            
                net.alchim31.maven
                scala-maven-plugin
                3.2.2
                
                    
                        
                            compile
                            testCompile
                        
                    
                
                
                    
                        -nobootcp
                    
                
            

            
            
                org.apache.maven.plugins
                maven-eclipse-plugin
                2.8
                
                    true
                    
                        org.scala-ide.sdt.core.scalanature
                        org.eclipse.jdt.core.javanature
                    
                    
                        org.scala-ide.sdt.core.scalabuilder
                    
                    
                        org.scala-ide.sdt.launching.SCALA_CONTAINER
                        org.eclipse.jdt.launching.JRE_CONTAINER
                    
                    
                        org.scala-lang:scala-library
                        org.scala-lang:scala-compiler
                    
                    
                        **/*.scala
                        **/*.java
                    
                
            
            
                org.codehaus.mojo
                build-helper-maven-plugin
                1.7
                
                    
                    
                        add-source
                        generate-sources
                        
                            add-source
                        
                        
                            
                                src/main/scala
                            
                        
                    
                    
                    
                        add-test-source
                        generate-test-sources
                        
                            add-test-source
                        
                        
                            
                                src/test/scala
                            
                        
                    
                
            
        
    

3.这里在本地测试的时候可能会报错

java.lang.NoClassDefFoundError: scala/collection/Seq

需要把pom.xml中的

provided

注释掉,因为provide将不会被打包到lib目录下,所以发生找不到的错误。
4.使用”胖jar“打包

mvn clean package -Pbuild-jar

4.在target文件夹可以看到flink-scala-project-0.1.jar文件,现在可以将jar上传到http://localhost:8081 Submit New job进行测试啦!

你可能感兴趣的:(flink,maven,scala)