flume报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (

1.出现问题

在使用flume进行自定义Source中,要将自定义的代码打包到flume上运行,用maven打包的时候出现这样的问题

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project flume: Compilation failure
[ERROR] /D:/javaeclipse/ideaWorkSpace/flume/src/main/java/com/test/source/Mysource.java:[24,60] -source 1.5 中不支持 diamond 运算符
[ERROR]   (请使用 -source 7 或更高版本以启用 diamond 运算符)
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

2.问题解决

看到maven出现报错,大体感觉应该是java编译版本的问题,就首先将项目支持的jdk版本改成了jdk8

flume报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (_第1张图片

并继续讲项目的编译版本也改成了jdk8

flume报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (_第2张图片
然后继续maven install试一下,结果还是不行。

然后就在pom.xml中配置了如下,修改maven编译版本

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <configuration>
                    <source>8source>
                    <target>8target>
                configuration>
            plugin>
        plugins>
    build>

问题成功解决

3.总结

如果我们不告诉maven我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。maven默认使用的编译版本很低,我们最好指定一下maven的编译版本

你可能感兴趣的:(hadoop,java,maven)