错误编译java -use source 5

时间:2014-08-20 15:33:22

标签: java maven maven-2 maven-assembly-plugin flume

如果这是一个愚蠢的问题,请原谅我,但我正在尝试编译我在http://thisdataguy.com/2014/02/07/how-to-build-a-full-flume-interceptor-by-a-non-java-developer/找到的一些java代码

我是java编程的新手,当我运行代码时出现错误:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - org.apache.flume:eventTweaker:jar:1.0
[INFO]    task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting file set: /home/kwincott/jars/tweaker/target (included: [**], excluded:    [])
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/kwincott/jars/tweaker/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to /home/kwincott/jars/tweaker/target/classes
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

/home/kwincott/jars/tweaker/src/main/java/com/example/flume/interceptors   /eventTweaker.java:[18,3] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Override

/home/kwincott/jars/tweaker/src/main/java/com/example/flume/interceptors/eventTweaker.java:[24,7] generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
Map<String, String> headers = event.getHeaders();

/home/kwincott/jars/tweaker/src/main/java/com/example/flume/interceptors/eventTweaker.java:[46,20] for-each loops are not supported in -source 1.3
(use -source 5 or higher to enable for-each loops)
for (Event event:events) {


[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Aug 20 16:26:17 BST 2014
[INFO] Final Memory: 19M/303M
[INFO] ------------------------------------------------------------------------

2 个答案:

答案 0 :(得分:0)

显然,Maven的编译器插件不关心你实际使用的Java版本。该错误消息提示您在pom.xml

中设置一些配置

答案 1 :(得分:-3)

构建失败报告几乎说明了一切:

[18,3] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Override

[24,7] generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
Map<String, String> headers = event.getHeaders();

[46,20] for-each loops are not supported in -source 1.3
(use -source 5 or higher to enable for-each loops)
for (Event event:events) {

(使用-source 5或更高版本启用for-each循环)

您可能正在使用过时的JDK版本(6或更高版本)和/或Maven(3.x或更高版本)。更新到最新的JDK和Maven版本,错误应该消失了。

但是,正如构建报告末尾的INFO部分所述,for more information, run Maven with the -e switch。这有助于您将来调试问题。